【问题标题】:Spring boot acitvemq keep receiver running periodicallySpring boot activemq 保持接收器定期运行
【发布时间】:2016-08-09 18:55:19
【问题描述】:
我已经配置了一个 Spring Boot 应用程序,它在运行时从队列中读取消息并相应地处理它们。
我还配置了并发标志来运行多个这样的阅读器。
然而,在一个理想的世界中,我希望接收器像线程一样继续运行并继续检查任何消息。
我的问题是,是否有任何方法可以在 Spring Boot 中配置它,或者我必须回退到使用 executor 或其他任何东西使用线程机制。
谢谢,
- Vaibhav
【问题讨论】:
标签:
spring-boot
activemq
messaging
【解决方案1】:
我从 Spring Boot 中找到了一个不错的方法,并发当然是由并发属性来处理的,例如
@JmsListener(destination = "myqueue", concurrency="2-10")
但是对于下面的线程部分来说,这是一种巧妙的方式:
@SpringBootApplication
@EnableAutoConfiguration(exclude={MongoAutoConfiguration.class, MongoDataAutoConfiguration.class})
@EnableJms
public class MyApplication implements CommandLineRunner{
public static void main(String[] args) {
SpringApplication.run(MyApplication.class, args);
}
@Override
public void run(String... arg0) throws Exception {
// TODO Auto-generated method stub
System.out.println("Joining Thread ctrl+c to bring down application");
Thread.currentThread().join();
}
}