ActiveMQ发现

ActiveMQ发现,activemq,Activemq,我尝试使用一种数据库实现另一个发现。我发现此代码有助于我理解DiscoveryAgent的工作原理: 但是我不知道什么时候调用registerService方法。当我更改多播DiscoveryAgent的代码以查看何时调用它时,但发现Agent不是何时启动的。但是如果它没有被调用,代理就不能向数据库宣传自己。。。 那么我不明白一个经纪人如何使用发现者的信息与另一个经纪人进行沟通 因此,如果你能解释一下什么时候调用这个方法,如果你有一些关于DiscoveryAgent实现的文档,那就太好了 提前

我尝试使用一种数据库实现另一个发现。我发现此代码有助于我理解DiscoveryAgent的工作原理:

但是我不知道什么时候调用registerService方法。当我更改多播DiscoveryAgent的代码以查看何时调用它时,但发现Agent不是何时启动的。但是如果它没有被调用,代理就不能向数据库宣传自己。。。 那么我不明白一个经纪人如何使用发现者的信息与另一个经纪人进行沟通

因此,如果你能解释一下什么时候调用这个方法,如果你有一些关于DiscoveryAgent实现的文档,那就太好了


提前感谢。

registerService方法在代理启动后的不同时间从代理的TransportConnector调用。您应该花一些时间查看ActiveMQ中各种代理的代码。多播版本和HTTP代理就是很好的例子

请记住,代理是为代理和客户端代码编写的,因此有些代码不是从代理端运行的,有些代码不是在客户端使用的。如果您只想实现客户端代理,那么您不需要担心注册或广告位,但是如果您希望代理将自己添加到您的DB实现中,那么您需要实现这些位,以便代理可以添加自己并执行您的广告机制

源代码和测试是您最好的文档。查看代码,运行测试并设置断点以查看发生了什么。您甚至可以从源代码进行构建,并在需要时添加自己的日志,以获得更好的体验