S2JMS開発記 - メッセージをrequest属性で登録
JMSContainerですが、以下のところまで実現できたのでコミットしました。
- 受信したメッセージをrequest属性でコンテナに登録
- MessageListenerをメッセージ受信のたびにコンテナから取得(このタイミングでメッセージを含むrequest属性のコンポーネントがインジェクションされる)
これにともない、JMSContainerの使い方がちょっとだけ変わります。
従来は addMessageListener でコンポーネントを直接渡していたのですが、''コンポーネント名''を渡すように変更になりました。
さらに、MessageListener は request属性のコンポーネントをインジェクションするので、prototype属性で登録することが前提となります。
<component class="org.seasar.jms.container.impl.JMSContainerImpl"> <initMethod name="addMessageListener"> <arg>"listener"</arg> </initMethod> </component> <component name="listener" class="sample.MessageListener" instance="prototype" />