理解apacheactivemq

理解apacheactivemq,activemq,Activemq,我对ApacheActiveMQ的功能感到困惑 我从下载了ActiveMQ。 所以我这样使用它(环境:Windows7):我启动bin/activemq.bat,然后它就工作了 我的问题是:这是否意味着我在我的机器上启动了一个服务器?当我初始化ActiveMQConnectionFactory时,代理URL是tcp://localhost:61616。但是,如果我想让我的机器充当服务器,让另一台机器连接到我的服务器,该怎么办?是的,您可以将主框用作服务器,并让使用者/订阅者在其他框上运行(需要连

我对ApacheActiveMQ的功能感到困惑

我从下载了ActiveMQ。 所以我这样使用它(环境:Windows7):我启动
bin/activemq.bat
,然后它就工作了


我的问题是:这是否意味着我在我的机器上启动了一个服务器?当我初始化
ActiveMQConnectionFactory
时,代理URL是
tcp://localhost:61616
。但是,如果我想让我的机器充当服务器,让另一台机器连接到我的服务器,该怎么办?

是的,您可以将主框用作服务器,并让使用者/订阅者在其他框上运行(需要连接到服务器-您需要指定要建立连接的服务器主机名和端口)-一旦就位,服务器上的消息(主题或队列)就可以被客户端使用

如果您有一个生产者和一个消费者,您可以考虑使用队列-如果您有多个消费者/订阅者,您可以考虑设置消费者将订阅的主题。需要根据需要将消息插入主题/队列

您可以在代码中指定服务器信息,最好在配置文件中指定

有关拓扑的参考:

此外,您可以根据您的用例选择是否持久化消息。Kaha DB是首选路线(特别是在性能受到关注的情况下)

有用的例子:


希望对您有所帮助。

ApacheActiveMQ™ 是最流行和功能最强大的开源消息传递和集成模式服务器 &它的作用类似于第三方服务器

ApacheActiveMQ速度快,支持多种跨语言客户端和协议,具有易于使用的企业集成模式和许多高级功能,同时完全支持JMS 1.1和J2EE 1.4。Apache ActiveMQ是根据Apache 2.0许可证发布的

ActiveMQ具有同时发送100 MB单消息框架和维护1000个并发连接的功能,有关更多信息,请查看文档中的ActiveMQ.xml


实际上,我已经在一台机器上使用“localhost”实现了发布服务器/订阅服务器。但我现在很难使用两种不同的机器。对于服务器(或代理)端,我应该启动服务器(activemq.bat),但在客户端,我不需要启动activemq.bat,对吗?服务器端的配置文件(activemq.xml)中的ip地址应该是什么?localhost还是我的实际IP地址?您可以在“服务器”上运行代理-对于使用者,您只需拥有activemq jar文件(&log4j/slf4j jar文件)在客户端计算机上运行的项目中-需要指定要连接的服务器/代理-使用nslookup或ipconfig确认运行代理的主机名,并指定IP地址(以及代理侦听的端口-61616或其他),以便使用者(客户端)连接到代理(消费者)。非常感谢。它现在可以工作了。但是我可以问你另一个问题吗?默认情况下,activemq使用tcp协议。现在我将其配置为使用ssl。在一台机器上,这没有什么区别。但是在我将其部署到两台机器上后,速度会慢得多。你有使用ssl的经验吗?这正常吗?希望你得到答案-ssl的使用会放慢速度,但不要太大-这取决于您的配置方式,代码中没有任何东西会导致速度减慢是的。我犯了一个错误,为每个发送的消息创建了一个连接,这浪费了很多时间在握手上。一个发布者的一个连接现在可以正常工作。这是什么,某种广告?