首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将Boomi JMS连接器配置为ActiveMQ Artemis

将Boomi JMS连接器配置为ActiveMQ Artemis
EN

Stack Overflow用户
提问于 2021-02-12 22:44:45
回答 1查看 372关注 0票数 1

我一直在使用Boomi中的JMS连接器来连接ActiveMQ Artemis 2.14,但是使用客户端库activemq-All5.15.11.jar和工厂org.apache.activemq.jndi.ActiveMQInitialContextFactory,这是可行的,只是在堆中创建大量org.apache.activemq.artemis.core.server.impl.MessageReferenceImpl对象的连接存在问题,这些对象不是与实际消息关联,而是与ActiveMQ.Advisory.TempQueue关联。

因此,我正在尝试使用ActiveMQ Artemis 2.14客户端设置一个Boomi JMS连接器。我将以下库导入到Atom中:

  • activemq-core-5.4.1.jar
  • artemis-core-client-2.14.0.jar
  • artemis-jms-client-2.14.0.jar
  • artemis-jms-client-all-2.14.0.jar
  • fscontext-4.6-b01.jar
  • geronimo-j2ee-management_1.1_spec-1.0.1.jar

然后,我创建了一个自定义库,将其设置为Connector,并添加了上述库并部署到Atom中。在连接器中,我指定了ActiveMQ和ConectionFactory org.apache.activemq.artemis.jndi.ActiveMQInitialContextFactory

这给了我一个java转储,抱怨“无法创建初始上下文”和“无效代理URL”我的URL有点花哨,但它适用于另一个ActiveMQ连接器。

代码语言:javascript
复制
failover:(tcp://[host]:61616,tcp://[host]:61616)?startupMaxReconnectAttempts=2&maxReconnectAttempts=0&maxReconnectDelay=1000

所以我尝试了一个简单的URL,只是tcp://[host]:61616 --这给了我一个奇怪的错误:“执行过程中的意外错误: java.lang.NoClassDefFoundError: org/jboss/Logger/Logger”

所以,这是否意味着我包含了一个我不需要的库,它需要jboss,还是实际上我需要jboss库?

如对此有任何指导,将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-13 01:43:29

这里有很多问题要讨论。我轮流拿每一张。

.我对堆中创建numerous...objects的连接有问题,这些连接与实际消息无关,而是与ActiveMQ.Advisory.TempQueue关联。

您应该能够通过在客户端正在使用的supportAdvisory=false中的acceptor上设置broker.xml来解决这个问题。这是在OpenWire在ActiveMQ Artemis用户手册中的章节中讨论的。

下面的库被导入到Atom中..。

您真正需要的唯一库是artemis-jms-client-all-2.14.0.jar。顾名思义,它包含所有的ActiveMQ Artemis客户端代码以及所有依赖项(例如Netty、JMS类、JBoss日志框架等)。

在连接器中,我指定了ActiveMQ和ConectionFactory org.apache.activemq.artemis.jndi.ActiveMQInitialContextFactory

org.apache.activemq.artemis.jndi.ActiveMQInitialContextFactory不是JMS ConnectionFactory实现。它是JNDI的InitialContextFactory实现。

这给了我一个java转储,抱怨“无法创建初始上下文”和“无效代理URL”我的URL有点花哨,但它适用于另一个ActiveMQ连接器。

您使用的URL适合用于OpenWire 5.x的ActiveMQ JMS (您以前使用过)。但是,对于用于ActiveMQ Artemis的核心JMS (您现在正在使用的)来说,它是无效的。您可以使用这样的东西来代替:

代码语言:javascript
复制
(tcp://[host]:61616,tcp://[host]:61616)?ha=true&initialConnectAttempts=2&reconnectAttempts=0&maxRetryInterval=1000
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66179990

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档