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

Kartik Ganesh 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:

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

  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 I 
can submit a PR to remove this. 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:
> {{{}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.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to