如何解决我们如何基于环境交替使用@RabbitListener和@JMSListener?
实际上,我有一个内部使用Spring Boot应用程序,该应用程序使用@RabbitListener来使用RabbitMQ消息,并且已经将同一应用程序迁移到了Azure中,该应用程序使用了@JMSListener来使用AzureServiceBus消息。
我们为本地和Azure维护相同的代码。因此,由于有这两个侦听器,我打算在两个不同的类中使用两个不同的侦听器复制具有相同内容的相同使用者代码
使用JMSListener的用户
is_err
使用RabbitListener的消费者
@JmsListener(destination = "${queue}",concurrency = "${threads}",containerFactory = "defaultContainer")
public Message processMessage(@Payload final String message) {
//do stuff with same content
}
是否有可能避免在两个类中重复代码?只有一个消费者,我们如何才能即时处理听众?有人可以建议我出去吗?
解决方法
您可以将两个注释添加到具有autoStartup
属性的同一方法中,该属性根据活动的Spring概要文件设置。
对于@RabbitListener
,注释本身具有autoStartup
属性,但是在两种情况下,都有Spring Boot属性auto-startup
用于控制容器是否启动。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。