我需要将keepalive端点设置为web应用程序(tomcat war)。 我的WAF将定期对终点进行采样,以确保应用程序健康。
健康应用程序意味着应用程序已启动,并且与RabbitMQ服务器(版本3.5.3 / spring-rabbit 1.4.5)的通信已启动并正常运行。
我将向我的WAF打开一些REST API,以验证连接状态。
阅读文档我很失落如何实现这个功能
我注意到一些可能有用的功能,但我不确定:
答案 0 :(得分:3)
您不需要像铲子那样特殊的东西来实施健康检查。只需创建一个健康队列并发送/接收它。
如果您使用的是Spring AMQP
rabbitTemplate.send("", "healthQueue", "foo");
String foo = rabbitTemplate.receive("healthQueue");
此外,您可以在Spring AMQP的连接工厂注册ConnectionListener
,并在创建/关闭连接时通知您。
Spring AMQP从一开始就进行了连接恢复,因此不使用rabbitmq客户端中的(相对较新的)内置自动恢复功能。
如果您没有使用Spring AMQP,请在频道上使用basicPublish
和basicGet
来发送/接收健康队列。