[ 
https://issues.apache.org/jira/browse/AMQ-4130?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jeffrey Starker updated AMQ-4130:
---------------------------------

    Description: 
When adding activemq-spring as a dependency in a java maven projects, the 
activemq-spring includes the artifact activemq-pool as a dependency. However, 
this causes a problem as activemq-spring duplicates many of the classes that 
are in activemq-pool.

If you do a directory and file comparision between activemq-spring-5.7.0.jar 
and activemq-pool-5.7.0.jar, the following files are duplicated in 
activemq-spring:

[WARNING] Found duplicate classes in 
[org.apache.activemq:activemq-pool:5.7.0,org.apache.activemq:activemq-spring:5.7.0]
 :
[WARNING]   org.apache.activemq.pool.ActiveMQResourceManager
[WARNING]   org.apache.activemq.pool.AmqJNDIPooledConnectionFactory
[WARNING]   org.apache.activemq.pool.ConnectionKey
[WARNING]   org.apache.activemq.pool.ConnectionPool
[WARNING]   org.apache.activemq.pool.JcaConnectionPool
[WARNING]   org.apache.activemq.pool.JcaPooledConnectionFactory
[WARNING]   org.apache.activemq.pool.PooledConnection
[WARNING]   org.apache.activemq.pool.PooledConnectionFactory
[WARNING]   org.apache.activemq.pool.PooledMessageConsumer
[WARNING]   org.apache.activemq.pool.PooledProducer
[WARNING]   org.apache.activemq.pool.PooledQueueSender
[WARNING]   org.apache.activemq.pool.PooledSession
[WARNING]   org.apache.activemq.pool.PooledSessionEventListener
[WARNING]   org.apache.activemq.pool.PooledTopicPublisher
[WARNING]   org.apache.activemq.pool.SessionKey
[WARNING]   org.apache.activemq.pool.XaConnectionPool
[WARNING]   org.apache.activemq.pool.XaPooledConnectionFactory

This can cause classloader problems as there are duplicated classes located on 
the path if activemq-pool or activemq-spring classes changed in a later 
version. This problem has also happened in previous versions of activemq.

Current workaround is to simply add exclusion to activemq-pool:

{code:xml}
<dependency>
        <groupId>org.apache.activemq</groupId>
        <artifactId>activemq-spring</artifactId>
        <version>5.7.0</version>
        <exclusions>
                <exclusion>
                        <artifactId>activemq-pool</artifactId>
                        <groupId>org.apache.activemq</groupId>
                </exclusion>
        </exclusions>
</dependency>
{code}

Suggested fix is to remove the classes from activemq-spring package and instead 
include the classes located in activemq-pool as a required dependency.


  was:
When adding activemq-spring as a dependency in a java maven projects, the 
activemq-spring includes the artifact activemq-pool as a dependency. However, 
this causes a problem as activemq-spring duplicates many of the classes that 
are in activemq-pool.

If you do a directory and file comparision between activemq-spring-5.7.0.jar 
and activemq-pool-5.7.0.jar, the following files are duplicated in 
activemq-spring:

[WARNING] Found duplicate classes in 
[org.apache.activemq:activemq-pool:5.7.0,org.apache.activemq:activemq-spring:5.7.0]
 :
[WARNING]   org.apache.activemq.pool.ActiveMQResourceManager
[WARNING]   org.apache.activemq.pool.AmqJNDIPooledConnectionFactory
[WARNING]   org.apache.activemq.pool.ConnectionKey
[WARNING]   org.apache.activemq.pool.ConnectionPool
[WARNING]   org.apache.activemq.pool.JcaConnectionPool
[WARNING]   org.apache.activemq.pool.JcaPooledConnectionFactory
[WARNING]   org.apache.activemq.pool.PooledConnection
[WARNING]   org.apache.activemq.pool.PooledConnectionFactory
[WARNING]   org.apache.activemq.pool.PooledMessageConsumer
[WARNING]   org.apache.activemq.pool.PooledProducer
[WARNING]   org.apache.activemq.pool.PooledQueueSender
[WARNING]   org.apache.activemq.pool.PooledSession
[WARNING]   org.apache.activemq.pool.PooledSessionEventListener
[WARNING]   org.apache.activemq.pool.PooledTopicPublisher
[WARNING]   org.apache.activemq.pool.SessionKey
[WARNING]   org.apache.activemq.pool.XaConnectionPool
[WARNING]   org.apache.activemq.pool.XaPooledConnectionFactory

This can cause classloader problems as there are duplicated classes located on 
the path if activemq-pool or activemq-spring classes changed in a later 
version. This problem has also happened in previous versions of activemq.

Current workaround is to simply add exclusion to activemq-pool:

<dependency>
        <groupId>org.apache.activemq</groupId>
        <artifactId>activemq-spring</artifactId>
        <version>5.7.0</version>
        <exclusions>
                <exclusion>
                        <artifactId>activemq-pool</artifactId>
                        <groupId>org.apache.activemq</groupId>
                </exclusion>
        </exclusions>
</dependency>

Suggested fix is to remove the classes from activemq-spring package and instead 
include the classes located in activemq-pool as a required dependency.


    
> Duplicated Classes in activemq-spring and activemq-pool artifacts
> -----------------------------------------------------------------
>
>                 Key: AMQ-4130
>                 URL: https://issues.apache.org/jira/browse/AMQ-4130
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: activemq-pool
>    Affects Versions: 5.7.0
>         Environment: Maven integration
>            Reporter: Jeffrey Starker
>            Priority: Minor
>
> When adding activemq-spring as a dependency in a java maven projects, the 
> activemq-spring includes the artifact activemq-pool as a dependency. However, 
> this causes a problem as activemq-spring duplicates many of the classes that 
> are in activemq-pool.
> If you do a directory and file comparision between activemq-spring-5.7.0.jar 
> and activemq-pool-5.7.0.jar, the following files are duplicated in 
> activemq-spring:
> [WARNING] Found duplicate classes in 
> [org.apache.activemq:activemq-pool:5.7.0,org.apache.activemq:activemq-spring:5.7.0]
>  :
> [WARNING]   org.apache.activemq.pool.ActiveMQResourceManager
> [WARNING]   org.apache.activemq.pool.AmqJNDIPooledConnectionFactory
> [WARNING]   org.apache.activemq.pool.ConnectionKey
> [WARNING]   org.apache.activemq.pool.ConnectionPool
> [WARNING]   org.apache.activemq.pool.JcaConnectionPool
> [WARNING]   org.apache.activemq.pool.JcaPooledConnectionFactory
> [WARNING]   org.apache.activemq.pool.PooledConnection
> [WARNING]   org.apache.activemq.pool.PooledConnectionFactory
> [WARNING]   org.apache.activemq.pool.PooledMessageConsumer
> [WARNING]   org.apache.activemq.pool.PooledProducer
> [WARNING]   org.apache.activemq.pool.PooledQueueSender
> [WARNING]   org.apache.activemq.pool.PooledSession
> [WARNING]   org.apache.activemq.pool.PooledSessionEventListener
> [WARNING]   org.apache.activemq.pool.PooledTopicPublisher
> [WARNING]   org.apache.activemq.pool.SessionKey
> [WARNING]   org.apache.activemq.pool.XaConnectionPool
> [WARNING]   org.apache.activemq.pool.XaPooledConnectionFactory
> This can cause classloader problems as there are duplicated classes located 
> on the path if activemq-pool or activemq-spring classes changed in a later 
> version. This problem has also happened in previous versions of activemq.
> Current workaround is to simply add exclusion to activemq-pool:
> {code:xml}
> <dependency>
>       <groupId>org.apache.activemq</groupId>
>       <artifactId>activemq-spring</artifactId>
>       <version>5.7.0</version>
>       <exclusions>
>               <exclusion>
>                       <artifactId>activemq-pool</artifactId>
>                       <groupId>org.apache.activemq</groupId>
>               </exclusion>
>       </exclusions>
> </dependency>
> {code}
> Suggested fix is to remove the classes from activemq-spring package and 
> instead include the classes located in activemq-pool as a required dependency.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to