使用IP多播发现正在运行的ActiveMQ消息代理

时间:2012-09-05 16:16:25

标签: java delphi activemq multicast

Apache ActiveMQ经纪人discovery支持IP multicast。此功能在默认的“演示”配置中激活(见下文)。我想用其他语言(Delphi / Free Pascal)实现发现功能。 Web上是否有一些最小的代码示例或介绍页面,显示了如何在Java中实现它?

如果我理解正确,多播将触发消息代理的答案,消息代理包含有关消息代理的IP和端口的信息。但我无法确定客户端需要指定哪个端口(ActiveMQ documentation)。

但是我无法看到多播客户端应该使用哪个端口。

<!-- Create a TCP transport that is advertised on via an IP multicast
              group named default. -->
  <transportConnector name="openwire" uri="tcp://localhost:61616"
                      discoveryUri="multicast://default"/>
  ...

更新:我找到http://docs.oracle.com/javase/tutorial/networking/datagrams/broadcasting.html并尝试使用此示例代码。

1 个答案:

答案 0 :(得分:1)

文档的最佳来源始终是代码本身。如果您查看SVN for ActiveMQ中的源并浏览org.apache.activemq.transports.discovery包,您应该非常了解发现位的工作原理,默认端口都在代码中。

  

svn co https://svn.apache.org/repos/asf/activemq/trunk activemq