在我的应用程序中,我想跟踪与RabbitMQ代理连接/断开的用户/客户端/应用程序。
对于客户端连接,如何设置唯一ID,以便我能够找到哪个客户端(生产者/消费者)都已连接。
顺便说一下,我使用Spring Integration来处理RabbitMQ / AMQP。
答案 0 :(得分:0)
从版本1.7开始,提供
ConnectionNameStrategy
以注入AbstractionConnectionFactory
。生成的名称用于目标RabbitMQ连接的特定于应用程序的标识。如果RabbitMQ服务器支持,则连接名称将显示在管理UI中。该值不必是唯一的,也不能用作连接标识符,例如在HTTP API请求中。该值应该是人类可读的,并且是ClientProperties
下connection_name
的一部分。可以用作简单的Lambda:
connectionFactory.setConnectionNameStrategy(connectionFactory -> "Connection from " + appName);
从1.4.5开始,您还可以通过向侦听器容器添加ConsumerTagStrategy
来命名使用者。
请参阅Consumer Tags。