我们正尝试使用自动发现和多播在Amazon EC2上的 生产环境 环境中设置活动MQ集群 . 我能够在我的本地活动mq服务器上使用多播配置成功自动发现,但在Amazon EC2上它无法正常工作 .
从link我发现Amazon EC2不支持多播 . 因此,我们必须使用HTTP传输或VPN进行多播 . 我通过下载activemq-optional-5.6.jar(我们使用的是Active-MQ 5.6版本)尝试了用于多播的HTTP传输 . 它需要httpcore和httpClient jar在它的类路径中进行servlet .
在代理配置中(activemq.xml)
`
<networkConnectors>
<networkConnector name="default" uri="http://localhost:8161/activemq/DiscoveryRegistryServlet"/>
</networkConnectors>
<transportConnectors>
<transportConnector name="activemq" uri="tcp://localhost:61616" discoveryUri="http://localhost:8161/activemq/DiscoveryRegistryServlet"/>
</transportConnectors>`
被添加 .
但是经纪人没有识别DiscoveryRegistryServlet .
任何帮助深表感谢 .
1 回答
最后想出了如何使用HTTP设置主动MQ自动发现
Active-MQ Broker configuration:
使用以下内容创建web.xml文件
将 httpclient-4.0.3.jar, httpcore-4.3.jar, xstream-1.4.5.jar and activemq-optional-5.6.0.jar 放在 $ACTIVEMQ_HOME/lib 目录中 .
在 $ACTIVEMQ_HOME/config 目录中,修改 jetty.xml 文件以显示activemq Web应用程序 .
确保代理名称是唯一的 . url中的“test”是代理的组名 . 客户端配置:1 . 在客户端2的类路径中保留httpclient-4.0.3.jar,httpcore-4.3.jar,xstream-1.4.5.jar和activemq-optional-5.6.0.jar . 客户端使用的URL
这里“test”是组名 .