当前位置: 首页 > 知识库问答 >
问题:

ActiveMQ 5.x到Artemis的迁移方法

帅彦
2023-03-14

我们正在计划从5.x迁移到最新版本(即ActiveMQ Artemis),如果有人已经将Camel作为客户机应用程序,我们需要一些澄清。

我们目前通过Camel ActiveMQ组件进行连接,我在Camel中没有看到任何这样的Artemis组件。我们还有其他组件,如JMS、SJMS、AMQP。有什么想法可以选择和推荐哪一个连接到阿尔忒弥斯吗?我想我可以选择在新版本中使用核心,AMQP协议,如果想离开OpenWire。如果核心协议是针对从JBoss迁移过来的应用程序,那么下面使用AMQP协议并符合JMS规范的AMQP组件好吗?

共有1个答案

百里智勇
2023-03-14

没有像ActiveMQ 5.x那样专门针对ActiveMQ Artemis的Camel组件。但是,ActiveMQ Artemis支持OpenWire协议,ActiveMQ Camel组件使用OpenWire协议,因此客户机应用程序不必更改。

如果希望更改Camel应用程序,则可以将JMS或SJMS Camel组件与以下任一JMS客户机实现一起使用:

  • OpenWire JMS(随ActiveMQ 5.x一起提供)
  • 核心JMS(随ActiveMQ Artemis一起提供)
  • QPID JMS(使用AMQP的独立JMS客户端实现)

如果愿意,还可以将AMQP Camel组件与Qpid JMS客户机一起使用。

您使用哪个组件完全取决于您的特定用例。您还没有真正提供关于用例的任何细节,所以不可能在那里提供指导。您需要评估每种方法的利弊,并自己做出决定。

 类似资料:
  • 在我们当前的项目中,我们使用Java8,SpringBoot1.5.4。ApacheCamel 2.17.1版团队计划将Camel升级到3.4版。因为它支持Java8。我看到了camel文档,其中声明将从3.4中放弃对Java8的支持。X版本之后,但很难找到与camel 3.4一起使用所需的spring boot版本的兼容版本。我需要升级spring启动版本吗?如果是的话,会是哪个版本,或者在哪里

  • 问题内容: 我正在将应用程序从Hibernate 3迁移到Hibernate5。我们使用class来获取。因此,使用对象来获取数据库表列信息,例如列大小,类型..etc。似乎在Hibernate 5 类中已弃用(已删除!)。Hibernate 5中是否有其他上课的选择?否则如何进入Hibernate 5 env? 问题答案: 当我们转向一种新的模式工具方法时,它在5.0中已被删除。Database

  • 问题内容: 在Hibernate 4.3.x中,有一个class 方法。但是在Hibernate 5.x中,此方法已从类中删除。 Hibernate-5中的代码替换是什么? 请帮助解决此迁移问题。 问题答案: 我发布到Broadleaf Commerce,因为他们还需要: 我一直在使用Hibernate 5进行工具处理,其中一些更改是…。要获取元数据,请使用Serviceloader: 您将需要以

  • 新的中间件签名 Koa v2 引入了新的中间件签名。 旧签名中间件(v1.x)支持将在 v3 中删除 新的中间件签名是这样的: // 使用异步箭头方法 app.use(async (ctx, next) => { try { await next() // next 现在是一个方法 } catch (err) { ctx.body = { message: err

  • 嗨,我遇到了一些使用log4j的代码。我想移动到log4j2。从http://logging.apache.org/log4j/2.x/manual/migration.html中,我发现可以使用log4j-1.2-api.jar。我有以下问题: > 在代码中,我有一个自定义的appender(正如链接中给出的,我不应该使用类appender的内部),这意味着我不能使用log4j-1.2-api.

  • 给定简单的配置: 服务器-ActiveMQ 客户1——制作人。使用OPENWIRE协议发送消息 客户2——消费者。使用STOMP协议接收消息 只要我们使用ActiveMQ 5.15.9,它就可以正常工作。但是它不适用于Artemis。在Artemis图形用户界面中,我可以看到,OPENWIRE协议使用名称为和STOMP协议的消费者使用名称为。当客户端1(生产者)发送消息时,我可以看到这个日志条目: