Каков наилучший способ инициализации при инициализации DefaultMessageListenerContainer? В настоящее время я жду первого сообщения и отслеживаю его с помощью логической переменной, которая не так хороша. Есть ли способ лучше ? Я хочу прочитать и загрузить определенные данные в кэш после запуска POJO, управляемого сообщениями, поэтому обработка сообщений происходит быстрее.
(Edited)
Spring Config Fragement:
<bean id="itemListener" class="com.test.ItemMDPImpl" autowire="byName" />
<bean id="itemListenerAdapter" class="org.springframework.jms.listener.adapter.MessageListenerAdapter">
<property name="delegate" ref="itemListener" />
<property name="defaultListenerMethod" value="processItems" />
<property name="messageConverter" ref="itemMessageConverter" />
</bean>
<bean class="org.springframework.jms.listener.DefaultMessageListenerContainer">
<property name="connectionFactory" ref="itemMqConnectionFactory" />
<property name="destinationName" value="${item_queue_name}" />
<property name="messageListener" ref="itemListenerAdapter" />
<property name="transactionManager" ref="jtaTransactionManager" />
<property name="sessionTransacted" value="true" />
<property name="concurrentConsumers" value="1" />
<property name="receiveTimeout" value="3000" />
</bean>
Я хотел бы выполнить инициализацию до того, как слушатель получит какое-либо сообщение.