我在我的应用程序中使用Spring。我想知道“嵌入式”ActiveMQ和“独立”ActiveMQ有什么不同。如果我运行ActiveMQ embedded,这是否意味着远程客户端仍然可以连接?我的理解是否正确,嵌入式ActiveMQ意味着当我启动我的Spring应用程序时,ActiveMQ将自动启动,或者它有其他含义?
例如,假设我在system-A中部署了一个应用程序,并在system-B中部署了相同的应用程序。在该应用程序中,我通过spring xml文件配置了嵌入式ActiveMQ broker,其中代理url为tcp:10.1.1.10;
如果我向system-A中的activemq broker发送消息,我是否可以在system-B中使用相同的消息?
发布于 2015-03-04 23:42:56
Embedded ActiveMQ与Standalone ActiveMQ的区别就是“Embedded”和“Standalone”这两个词之间的区别。
让我在Camel应用程序的上下文中进行解释:
StandAlone ActiveMQ意味着,即您拥有ActiveMQ,并且您将Camel Application jar文件移动到它的Lib文件夹中。您可以在Activemq的activemq.xml文件中导入Camel Application的camel-context.xml文件。您可以启动activeMQ.sh,它将启动ActiveMQ并使用它创建您的驼峰路由。
请注意,在这里,我们将工件移动到不在任何其他容器内的ActiveMQ分发版。这个ActiveMQ发行版可以在您的本地计算机上。
另一方面,:
An Embedded ActiveMQ意味着您为其他容器提供了ActiveMQ能力。例如,您可以在任何Application Server中启用ActiveMQ功能。在这种情况下,您本身并没有启动ActiveMQ。您只需启动封闭的容器,ActiveMQ功能就可以作为容器startsup使用。
例如,您可以在本地计算机上安装Tomcat。您可以在Tomcat文件夹中移动几个相关的Tomcat。在某些情况下,您可能需要配置Tomcat的配置文件。例如,如果您将队列作为JNDI对象提供,则需要将队列配置为资源。
希望这能有所帮助。
参考:http://icodingclub.blogspot.com/2011/09/spring-jms-with-embeded-activemq-in.html
发布于 2015-03-04 19:07:01
是的,您对嵌入式ActiveMQ的看法是正确的,它驻留在您部署的应用程序中并在其中运行,当应用程序本身启动或停止时,此activeMQ实例将启动和停止。
独立ActiveMQ实例独立运行,可独立启动和停止
对于您的问题,是的,您可以通过嵌入式activeMQ实例使用来自不同系统的消息。
希望这能有所帮助!祝好运!
https://stackoverflow.com/questions/28850192
复制相似问题