hornetq - 在同一个虚拟机中启动多个嵌入式 HornetQ 代理

标签 hornetq

有没有办法在同一个虚拟机中启动多个 HornetQ 嵌入式代理?例如,在同一进程中运行且完全不相关的两个独立应用程序。

如果我尝试注册第二个 EmbeddedJms 实例,而一个实例已经在运行,这就是我得到的结果

HQ221043: Adding protocol support CORE server: HQ221003: trying to deploy queue jms.queue.sampleQueue server: HQ221003: trying to deploy queue jms.topic.sampleTopic server: HQ224000: Failure in initialisation java.lang.IllegalArgumentException: HQ119062: Acceptor with id 0 already registered at org.hornetq.core.remoting.impl.invm.InVMRegistry.registerAcceptor(InVMRegistry.java:36) at org.hornetq.core.remoting.impl.invm.InVMAcceptor.start(InVMAcceptor.java:104) at org.hornetq.core.remoting.server.impl.RemotingServiceImpl.start(RemotingServiceImpl.java:321) at org.hornetq.core.server.impl.HornetQServerImpl.initialisePart2(HornetQServerImpl.java:1725) at org.hornetq.core.server.impl.HornetQServerImpl.access$1400(HornetQServerImpl.java:170) at org.hornetq.core.server.impl.HornetQServerImpl$SharedNothingLiveActivation.run(HornetQServerImpl.java:2700) at org.hornetq.core.server.impl.HornetQServerImpl.start(HornetQServerImpl.java:450) at org.hornetq.jms.server.impl.JMSServerManagerImpl.start(JMSServerManagerImpl.java:485)

可以找到配置嵌入式代理的代码here

最佳答案

我们一直在我们的测试套件上这样做..

在 Connection 属性中,您可以在 inVM 属性中设置 server-id。

连接器/接受器常量在后续服务器上将具有 server-id=1、2...n。

查看 org.hornetq.core.remoting.impl.invm.TransportConstants

关于hornetq - 在同一个虚拟机中启动多个嵌入式 HornetQ 代理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24077994/

相关文章:

jboss - 如何以编程方式创建带有 hornet q 的主题?

performance - HornetQ 中的消息属性可以有多大?

java - 动态更改 JNDI 提供程序

spring - JNDI 不适用于 HornetQ 和 tomcat

java - 新创建的客户端是否知道 hornetq 中的旧消息?

java - 野蝇 JMS : MDB beans idle when messages exist

jakarta-ee - WildFly - HornetQ 连接超时和性能问题

sql-server - 使用 MS SQL 服务器的 HornetQ 持久性

jms - HornetQ vs ActiveMQ vs Qpid 的优势

jms - 如何解决新安装的 ActiveMQ Artemis 上的阻塞问题?