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

https://stackoverflow.com/questions/24077994/

相关文章:

r - 如何向现有的 Aspell 词典中添加更多单词?

dynamic - 在 MongoDB 中为动态添加的字段创建索引

r - 为什么 R 的 ccf 说 "Autocorrelations of series ' X'

php - 如何通过表格中的表单发送复选框状态

arm - 使用 llvm 从桌面交叉编译到 arm

sql - 自增问题postgresql

python - Tkinter Windows 按键事件

composer-php - Composer 安装与更新现有组件?

visual-c++ - 带颜色的进度条和带有通用控件的边框

php - 如何为 PHP 类提供表单操作