Jeffrey Starker created AMQ-4130:
------------------------------------

             Summary: 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:

<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.


--
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