[ https://issues.apache.org/jira/browse/AMQ-9469?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Justin Bertram updated AMQ-9469: -------------------------------- Description: Hello! I noticed that the ActiveMQ [assembly pom.xml|https://github.com/apache/activemq/blob/main/assembly/pom.xml#L484-L486] has a dependency on a very old library - "jrms-1.1" - and I'm wondering if this can be removed. This library has not seen any releases/updates since 2005 and [Maven|https://mvnrepository.com/artifact/jrms/jrms/usages] lists only ActiveMQ and Apache Camel as upstream usages. After digging through ActiveMQ's mailing lists and commit history, I found that it [used to be listed|https://github.com/apache/activemq-web/blob/7a7d976c/2004/06/23/jgroups-and-jrms-support.xml] on ActiveMQ's [URI Protocols|https://activemq.apache.org/components/classic/documentation/uri-protocols] page, but was removed at some point. JRMS seems to be listed as a peer-to-peer option on the [topologies|https://activemq.apache.org/components/classic/documentation/topologies] page but is not discussed in either the [peer|https://activemq.apache.org/components/classic/documentation/peer-transport-reference] or [multicast|https://activemq.apache.org/components/classic/documentation/multicast-transport-reference] transport reference pages. If I try to specify "jrms://" as a protocol for my ActiveMQConnectionFactory, I see the following stack-trace: {noformat} javax.jms.JMSException: Could not create Transport. Reason: java.io.IOException: Transport scheme NOT recognized: [jrms] at org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:49) at org.apache.activemq.ActiveMQConnectionFactory.createTransport(ActiveMQConnectionFactory.java:378) at org.apache.activemq.ActiveMQConnectionFactory.createActiveMQConnection(ActiveMQConnectionFactory.java:391) at org.apache.activemq.ActiveMQConnectionFactory.createActiveMQConnection(ActiveMQConnectionFactory.java:349) at org.apache.activemq.ActiveMQConnectionFactory.createConnection(ActiveMQConnectionFactory.java:245) at App$HelloWorldProducer.run(App.java:66) at java.base/java.lang.Thread.run(Thread.java:840) Caused by: java.io.IOException: Transport scheme NOT recognized: [jrms] at org.apache.activemq.util.IOExceptionSupport.create(IOExceptionSupport.java:30) at org.apache.activemq.transport.TransportFactory.findTransportFactory(TransportFactory.java:185) at org.apache.activemq.transport.TransportFactory.connect(TransportFactory.java:64) at org.apache.activemq.ActiveMQConnectionFactory.createTransport(ActiveMQConnectionFactory.java:376) ... 5 more Caused by: java.io.IOException: Could not find factory class for resource: META-INF/services/org/apache/activemq/transport/jrms at org.apache.activemq.util.FactoryFinder$StandaloneObjectFactory.loadProperties(FactoryFinder.java:104) at org.apache.activemq.util.FactoryFinder$StandaloneObjectFactory.create(FactoryFinder.java:61) at org.apache.activemq.util.FactoryFinder.newInstance(FactoryFinder.java:154) at org.apache.activemq.transport.TransportFactory.findTransportFactory(TransportFactory.java:182) ... 7 more{noformat} An [email from 2011 on the users mailing-list|https://lists.apache.org/thread/wbwdj8011tmcqtdlbbfmzsthjdrh0gn0] came to the same conclusion, but I don't see any further discussion on it. I've confirmed that the [META-INF/services/org/apache/activemq/transport|https://github.com/apache/activemq/tree/main/activemq-client/src/main/resources/META-INF/services/org/apache/activemq/transport] folder under activemq-client does not have a "jrms" file. was: Hello! I noticed that the ActiveMQ [assembly pom.xml|https://github.com/apache/activemq/blob/main/assembly/pom.xml#L484-L486] has a dependency on a very old library - "jrms-1.1" - and I'm wondering if this can be removed. This library has not seen any releases/updates since 2005 and [Maven|https://mvnrepository.com/artifact/jrms/jrms/usages] lists only ActiveMQ and Apache Camel as upstream usages. After digging through ActiveMQ's mailing lists and commit history, I found that it [used to be listed|https://github.com/apache/activemq-web/blob/7a7d976c/2004/06/23/jgroups-and-jrms-support.xml] on ActiveMQ's [URI Protocols|https://activemq.apache.org/components/classic/documentation/uri-protocols] page, but was removed at some point. JRMS seems to be listed as a peer-to-peer option on the [topologies|https://activemq.apache.org/components/classic/documentation/topologies] page but is not discussed in either the [peer|https://activemq.apache.org/components/classic/documentation/peer-transport-reference] or [multicast|https://activemq.apache.org/components/classic/documentation/multicast-transport-reference] transport reference pages. If I try to specify "jrms://" as a protocol for my ActiveMQConnectionFactory, I see the following stack-trace: {{{}javax.jms.JMSException: Could not create Transport. Reason: java.io.IOException: Transport scheme NOT recognized: [jrms]{}}}{\{ at org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:49)}}\{{ at org.apache.activemq.ActiveMQConnectionFactory.createTransport(ActiveMQConnectionFactory.java:378)}}\{{ at org.apache.activemq.ActiveMQConnectionFactory.createActiveMQConnection(ActiveMQConnectionFactory.java:391)}}\{{ at org.apache.activemq.ActiveMQConnectionFactory.createActiveMQConnection(ActiveMQConnectionFactory.java:349)}}\{{ at org.apache.activemq.ActiveMQConnectionFactory.createConnection(ActiveMQConnectionFactory.java:245)}}\{{ at App$HelloWorldProducer.run(App.java:66)}}\{{ at java.base/java.lang.Thread.run(Thread.java:840)}} {{{}Caused by: java.io.IOException: Transport scheme NOT recognized: [jrms]{}}}{\{ at org.apache.activemq.util.IOExceptionSupport.create(IOExceptionSupport.java:30)}}\{{ at org.apache.activemq.transport.TransportFactory.findTransportFactory(TransportFactory.java:185)}}\{{ at org.apache.activemq.transport.TransportFactory.connect(TransportFactory.java:64)}}\{{ at org.apache.activemq.ActiveMQConnectionFactory.createTransport(ActiveMQConnectionFactory.java:376)}}\{{ ... 5 more}} {{{}Caused by: java.io.IOException: Could not find factory class for resource: META-INF/services/org/apache/activemq/transport/jrms{}}}{\{ at org.apache.activemq.util.FactoryFinder$StandaloneObjectFactory.loadProperties(FactoryFinder.java:104)}}\{{ at org.apache.activemq.util.FactoryFinder$StandaloneObjectFactory.create(FactoryFinder.java:61)}}\{{ at org.apache.activemq.util.FactoryFinder.newInstance(FactoryFinder.java:154)}}\{{ at org.apache.activemq.transport.TransportFactory.findTransportFactory(TransportFactory.java:182)}}\{{ ... 7 more}} An [email from 2011 on the users mailing-list|https://lists.apache.org/thread/wbwdj8011tmcqtdlbbfmzsthjdrh0gn0] came to the same conclusion, but I don't see any further discussion on it. I've confirmed that the [META-INF/services/org/apache/activemq/transport|https://github.com/apache/activemq/tree/main/activemq-client/src/main/resources/META-INF/services/org/apache/activemq/transport] folder under activemq-client does not have a "jrms" file. > Removing JRMS dependency from assembly POM > ------------------------------------------ > > Key: AMQ-9469 > URL: https://issues.apache.org/jira/browse/AMQ-9469 > Project: ActiveMQ Classic > Issue Type: Improvement > Environment: Tested using the libraries from the ActiveMQ 5.18.3 > tarball downloaded from > https://activemq.apache.org/components/classic/download/ > Reporter: Kartik Ganesh > Priority: Minor > Time Spent: 10m > Remaining Estimate: 0h > > Hello! > I noticed that the ActiveMQ [assembly > pom.xml|https://github.com/apache/activemq/blob/main/assembly/pom.xml#L484-L486] > has a dependency on a very old library - "jrms-1.1" - and I'm wondering if > this can be removed. This library has not seen any releases/updates since > 2005 and [Maven|https://mvnrepository.com/artifact/jrms/jrms/usages] lists > only ActiveMQ and Apache Camel as upstream usages. > After digging through ActiveMQ's mailing lists and commit history, I found > that it [used to be > listed|https://github.com/apache/activemq-web/blob/7a7d976c/2004/06/23/jgroups-and-jrms-support.xml] > on ActiveMQ's [URI > Protocols|https://activemq.apache.org/components/classic/documentation/uri-protocols] > page, but was removed at some point. JRMS seems to be listed as a > peer-to-peer option on the > [topologies|https://activemq.apache.org/components/classic/documentation/topologies] > page but is not discussed in either the > [peer|https://activemq.apache.org/components/classic/documentation/peer-transport-reference] > or > [multicast|https://activemq.apache.org/components/classic/documentation/multicast-transport-reference] > transport reference pages. > If I try to specify "jrms://" as a protocol for my ActiveMQConnectionFactory, > I see the following stack-trace: > {noformat} > javax.jms.JMSException: Could not create Transport. Reason: > java.io.IOException: Transport scheme NOT recognized: [jrms] > at > org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:49) > at > org.apache.activemq.ActiveMQConnectionFactory.createTransport(ActiveMQConnectionFactory.java:378) > at > org.apache.activemq.ActiveMQConnectionFactory.createActiveMQConnection(ActiveMQConnectionFactory.java:391) > at > org.apache.activemq.ActiveMQConnectionFactory.createActiveMQConnection(ActiveMQConnectionFactory.java:349) > at > org.apache.activemq.ActiveMQConnectionFactory.createConnection(ActiveMQConnectionFactory.java:245) > at App$HelloWorldProducer.run(App.java:66) > at java.base/java.lang.Thread.run(Thread.java:840) > Caused by: java.io.IOException: Transport scheme NOT recognized: [jrms] > at > org.apache.activemq.util.IOExceptionSupport.create(IOExceptionSupport.java:30) > at > org.apache.activemq.transport.TransportFactory.findTransportFactory(TransportFactory.java:185) > at > org.apache.activemq.transport.TransportFactory.connect(TransportFactory.java:64) > at > org.apache.activemq.ActiveMQConnectionFactory.createTransport(ActiveMQConnectionFactory.java:376) > ... 5 more > Caused by: java.io.IOException: Could not find factory class for resource: > META-INF/services/org/apache/activemq/transport/jrms > at > org.apache.activemq.util.FactoryFinder$StandaloneObjectFactory.loadProperties(FactoryFinder.java:104) > at > org.apache.activemq.util.FactoryFinder$StandaloneObjectFactory.create(FactoryFinder.java:61) > at > org.apache.activemq.util.FactoryFinder.newInstance(FactoryFinder.java:154) > at > org.apache.activemq.transport.TransportFactory.findTransportFactory(TransportFactory.java:182) > ... 7 more{noformat} > An [email from 2011 on the users > mailing-list|https://lists.apache.org/thread/wbwdj8011tmcqtdlbbfmzsthjdrh0gn0] > came to the same conclusion, but I don't see any further discussion on it. > I've confirmed that the > [META-INF/services/org/apache/activemq/transport|https://github.com/apache/activemq/tree/main/activemq-client/src/main/resources/META-INF/services/org/apache/activemq/transport] > folder under activemq-client does not have a "jrms" file. -- This message was sent by Atlassian Jira (v8.20.10#820010)