Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何手动启动SpringJMS侦听器容器_Java_Spring_Jms - Fatal编程技术网

Java 如何手动启动SpringJMS侦听器容器

Java 如何手动启动SpringJMS侦听器容器,java,spring,jms,Java,Spring,Jms,我有一个服务器端应用程序,它使用来自JMS队列的消息。我使用Spring侦听器容器,如下所示: <jms:listener-container connection-factory="myConnectionFactory" .......... concurrency="4-8"> <jms:listener id="myListener" destination="my.

我有一个服务器端应用程序,它使用来自JMS队列的消息。我使用Spring侦听器容器,如下所示:

<jms:listener-container connection-factory="myConnectionFactory"
                        ..........
                        concurrency="4-8">
    <jms:listener id="myListener" destination="my.ems.queue" ref="listenerBean" method="method"/>
</jms:listener-container>

这个很好用

其中的一个问题是,侦听器在设置JMS消息时就开始使用它。然而,listenerBean所依赖的一些bean需要一些时间来初始化(它需要从数据库填充一些数据)

因此,如果服务启动时队列中有一些挂起的JMS消息,它将在数据填充完成之前尝试为其提供服务。这会导致一些错误


我的问题是,如何在数据完全填充后的后期才能自动启动侦听器,以便调用
start()
方法手动启动它?

您可以在DMLC上设置
autoStartup
属性,使其在选择调用
start()
之前不会启动

另一种方法是确保在其他依赖bean就绪之前未创建连接工厂

<bean class="..." name="myConnectionFactory" depends-on="importantOtherBean"/>

@Peter将
自动启动设置为false在这种情况下对我没有帮助。即使在手动启动它之前,我的侦听器在收到消息时仍会被触发。。。你能检查我的问题了解更多信息吗?