java - 在同一台机器上设置多个 ActiveMQ 代理时出错

标签 java linux activemq broker

我按照 [1] 中的确切步骤在同一服务器中设置多个 ActiveMQ 代理。 当我启动第二个实例时,我总是遇到相同的错误。

我注意到的一件事是两个实例上的配置是相同的。例如,像 port 这样的配置在 activemq.xml 和 jetty.xml 中是相同的。

我什至更改了第二个实例的端口,这样它就不会因第一个实例而崩溃。但我得到了同样的异常。

https://sbforge.org/display/BITMAG/Running+multiple+activemq+instances+on+the+same+server

信息 | Apache ActiveMQ 5.9.0(实例1,ID:udara-54224-1391513355578-0:1)已关闭 信息|关闭 org.apache.activemq.xbean.XBeanBrokerFactory$1@33e228bc:启动日期 [2014 年 2 月 4 日星期二 06:29:14 EST 2014];上下文层次结构的根 警告 |上下文关闭时从 LifecycleProcessor 抛出异常 java.lang.IllegalStateException:LifecycleProcessor 未初始化 - 在通过上下文调用生命周期方法之前调用“刷新”: org.apache.activemq.xbean.XBeanBrokerFactory$1@33e228bc:启动日期 [2 月 4 日星期二:6: 2014 年美国东部时间 29:14];上下文层次结构的根 在org.springframework.context.support.AbstractApplicationContext.getLifecycleProcessor(AbstractApplicationContext.java:360) 在 org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:1057) 在 org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:1010) 在 org.apache.activemq.hooks.SpringContextHook.run(SpringContextHook.java:30) 在org.apache.activemq.broker.BrokerService.stop(BrokerService.java:782) 在 org.apache.activemq.xbean.XBeanBrokerService.stop(XBeanBrokerService.java:122) 在org.apache.activemq.broker.BrokerService.start(BrokerService.java:574) 在 org.apache.activemq.xbean.XBeanBrokerService.afterPropertiesSet(XBeanBrokerService.java:73) 在 sun.reflect.NativeMethodAccessorImpl.invoke0( native 方法) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 在 java.lang.reflect.Method.invoke(Method.java:597) 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1608)

最佳答案

根据这些说明,您肯定需要更改每个实例的端口

each instance had its port numbers in <instance>/conf/activemq.xml and conf/jetty.xml edited, so instance1 listens on port 60001 and is managed on port 8001, instance2 on 60002 and 8002, instance3 on 60003 and 8003

您打印的堆栈跟踪是警告而不是错误 - 它仍然不起作用吗?您打印的日志是例如instance1 - 您是否正在尝试启动instance2?在这种情况下,您的 instance2 的配置是错误的。在instance2/conf/文件夹中进行文件搜索以查找对instance1的任何引用,这应该会告诉您错误所在

关于java - 在同一台机器上设置多个 ActiveMQ 代理时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21551373/

相关文章:

Python3.3 - 致命的 Python 错误 : Py_Initialize: Unable to get the locale encoding

activemq - 无法在 Linux 上启动 Active MQ

java - 消息卡在 ActiveMQ 上

java - Play Framework 2 身份验证选项

java - 限制 Flex/BlazeRS 和 Tomcat 之间的 HTTP 请求参数大小?

java - 不使用 JAXB 将 @XmlRootElement 编码为字符串

java - 具有相同JMS相关性ID的重复消息

java - 如何指定使用Spring Cloud Stream向RabbitMQ发送消息的超时?

linux - 每周 Cron Job ssh

linux - 每次上传新文件时出现 403 Forbidden 错误