0

DefaultMessageListenerContainerの初期化で初期化を実行する最良の方法は何ですか? 現在、私は最初のメッセージを待っており、ブール変数を使用してそれを追跡していますが、これはあまりきれいではありません。より良い方法はありますか?メッセージ駆動型 POJO が起動したら、特定のデータを読み取ってキャッシュにロードしたいので、メッセージ処理が高速になります。

(編集済み)

Spring 構成フラグメント:

<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>

リスナーがメッセージを受信する前に、いくつかの初期化を行いたいと思います。

4

1 に答える 1

2

他のSpring Beanと同じように@PostConstruct、メソッドにアノテーションを付けて起動初期化を実行するために使用することはできませんか?ItemMDPImpl

4.9.6 @PostConstruct および @PreDestroy

于 2012-02-15T23:11:38.343 に答える