Spring 定期启动 activemq 保持接收器 运行

Spring boot acitvemq keep receiver running periodically

我已经配置了一个 spring 引导应用程序,它在 运行 时从队列中读取消息并相应地处理它们。 我还将并发标志配置为 运行 多个这样的阅读器。 然而,在一个理想的世界中,我希望接收者像线程一样保持 运行ning 并继续检查任何消息。 我的问题是,是否有任何方法可以在 spring 引导中配置它,或者我必须回退到使用执行程序或其他任何东西的线程机制。 谢谢, - Vaibhav

我从 Spring 引导中找到了一个很好的方法,并发性当然是由并发属性决定的,例如

@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();
    }
}