ActiveMQ 经典 HTTP 雅加达

问题描述 投票:0回答:1

我正在将 ActiveMQ Classic 5.18.1 与 Spring 6 和 Jakarta 命名空间结合使用。我正在使用

activemq-client-jakarta
进行 TCP 连接,但现在我遇到了一个新问题。我需要处理http,但是没有提供activemq-http-jakarta jar。

是否有计划像

activemq-http-jakarta
那样创建一个
activemq-client
罐子?

ActiveMQConnectionFactory
来自
activemq-client-jakarta

这是我尝试通过

https
协议发送消息时收到的日志:

Caused by: jakarta.jms.JMSException: Transport scheme NOT recognized: [https]
    at org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:91)
    at org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1483)
    at org.apache.activemq.ActiveMQConnection.ensureConnectionInfoSent(ActiveMQConnection.java:1548)
    at org.apache.activemq.ActiveMQConnection.createSession(ActiveMQConnection.java:370)
    at org.springframework.jms.core.JmsTemplate.executeLocal(JmsTemplate.java:950)
    ... 170 common frames omitted
Caused by: java.io.IOException: Transport scheme NOT recognized: [https]
    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.compositeConnect(TransportFactory.java:90)
    at org.apache.activemq.transport.failover.FailoverTransport.doReconnect(FailoverTransport.java:1020)
    at org.apache.activemq.transport.failover.FailoverTransport$2.iterate(FailoverTransport.java:151)
    at org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:133)
    at org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:48)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
    ... 1 common frames omitted
Caused by: java.io.IOException: Could not find factory class for resource: META-INF/services/org/apache/activemq/transport/https
    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)
    ... 8 common frames omitted
activemq-classic jakarta-migration
1个回答
1
投票

据我所知,无需对

activemq-http
jar 进行任何更改即可与
activemq-client-jakarta
jar 一起使用,以便您可以使用
http
https
URL 方案。您只需要将两个 jar 放在应用程序的类路径中,考虑到您粘贴的堆栈跟踪,显然情况并非如此。

© www.soinside.com 2019 - 2024. All rights reserved.