在远程服务器上设置和使用ActiveMQ(在AWS上托管)

时间:2015-08-17 10:28:43

标签: java amazon-web-services apache-camel activemq

我们有一个AWS设置,其中包含服务器基础结构。

我不确定AWS是否是问题。

一台服务器正在运行ActiveMQ 5.11。

我们有一个使用Camel和Spring的应用程序来实例化bean,队列和主题。

当在与activeMQ实例不同的服务器上启动应用程序时,我们不断收到消息,指出Failover无法连接到localhost:61616

暂时解决这个问题我们在同一台服务器上安装了activeMQ,这种想法失败了。

春天的上下文非常普遍,似乎从我在管理员看到的内容开始。服务器通过初始上下文连接,但不维护连接并故障转移到localhost安装。

我一直在调查我们必须做的事情,但到目前为止我一直无法找到我所追求的内容,我已启用服务器之间的所有流量,因此请确保没有任何端口被阻止,但是没有重要的是我尝试连接似乎放弃了远程服务器,转而使用localhost。

我会继续插手,因为这是我们项目的主要要求。

1 个答案:

答案 0 :(得分:0)

有了这个工作,这对我来说相当新,所以我不确定我为一个人做了什么。

一篇文章有​​点帮助,但仍然没那么清楚(主要是因为我们的工作防火墙阻止了cdns!)而我现在找不到它了!

模式为connectionId:queue|topic:identifying.words

我将connectionId设置为activemq并且在任何地方都不存在。

我登录了管理员并创建了这个。

然后更新了以下代码

logger.debug("Setup Context");
String transport = ApplicationProperties.getProperty("activemq.transport");
logger.info(transport);

// Not sure if this is a queue or not, but it is basically a name pointer.
String queue = ApplicationProperties.getProperty("activemq.queue");
logger.info(queue);         

ConnectionFactory connectionFactory = new activeMQConnectionFactory(transport);

camelContext.addComponent(queue,JmsComponent.jmsComponent(connectionFactory));

因此fromto的正确格式为:

String jmsLandingAreaReceipt = queue + ":topic:" + landingAreaReceipt;