質問

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

(編集)

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>

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

役に立ちましたか?

解決

使用できません @PostConstruct メソッドに注釈を付けます ItemMDPImpl 他のスプリングビーンと同様に、スタートアップの初期化を実行するには?

4.9.6 @PostConstructおよび@predestroy

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top