【发布时间】:2023-03-13 11:57:01
【问题描述】:
我们在最新版本 5.6.0 中使用 Active MQ。 现在我们遇到了必须连接一个新客户端的问题,不幸的是这个客户端是使用 IBM JDK 1.4 开发的。将 ActiveMQ 添加到应用程序会导致以下错误:
UNEXPECTED ERROR OCCURRED: org/apache/activemq/ActiveMQConnectionFactory (Unsupported major.minor version 50.0)
STACK TRACE:
java.lang.UnsupportedClassVersionError: org/apache/activemq/ActiveMQConnectionFactory (Unsupported major.minor version 50.0)
我们不想切换到较旧的 ActiveMQ 版本,因为还有其他应用程序使用当前版本。现在我的问题(我知道常见问题解答,尤其是http://activemq.apache.org/can-i-use-activemq-5x-or-later-on-java-14.html):
是否有任何 ActiveMQ 客户端 jar 可用于连接到 Active MQ 5.6.0? 例如,是否可以使用 ActiveMQ 4.0 客户端连接到 Active MQ 5.6.0? 是否可以为此目的使用任何其他协议?有没有人运行成功的解决方案?
如果我必须使用我必须翻译的罐子上最低设置的逆向翻译器?有没有人使用 IBM JDK 1.4 的经验?
感谢您的回答!
【问题讨论】:
-
我也在邮件列表中问过这个问题:activemq.2283324.n4.nabble.com/…
-
我假设您不想将客户端迁移到更新版本的 Java。 JDK 1.4 已经停产几年了(甚至 JDK 6 今年也会 EOL)
-
不幸的是,这是不可能的。代码在 Websphere 中运行,更新意味着额外的许可成本,客户不想要这个,我不能强迫他。
-
除了使用retrotranslator,你还可以创建一个网关服务。例如有一个服务可以连接到所需版本的 ActiveMQ,它以它支持的协议与 websphere 进程通信,例如RMI 或旧版本的 ActiveMQ。