最初に、新しい質問を投稿するときに出てくる可能性のある回答のいくつかを確認しましたが、私の問題を扱っているものはありません。
私はうまく機能するSpring MDPを持っています。つまり、メッセージを受信できます。問題は、依存関係を自動配線しようとすると、自動配線が機能しないように見えることです。私は Netbeans と Glassfish 3.1.2 を使用しているので、コードをステップ実行して、依存関係が null であることを確認できます。アプリケーションの他の部分の自動配線は正常に機能しています。MDP は、コンポーネント スキャンで取得されます。
springsource の例を使用して MDP を作成しました: http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/jms.html
そして、セッターメソッドによって依存関係を自動配線しました。
なぜこれが機能しないのかわかりません。私は周りをチェックしましたが、他の誰もこの問題を抱えていないと思います。
アイデア、正しい方向への指針、私が参照できる例は大歓迎です。
ありがとう。
KSS
MDP クラス:
public class ExampleListener implements MessageListener {
private Transformer transformer;
private MurexService murexService;
@Autowired
public void setTransformer(Transformer transformer) {
this.transformer = transformer;
}
@Autowired
public void setMurexService(MurexService murexService) {
this.murexService = murexService;
}
@Override
public void onMessage(Message message) {
if (message instanceof TextMessage) {
try {
System.out.println(((TextMessage) message).getText());
} catch (JMSException ex) {
throw new RuntimeException(ex);
}
}
}
}
アプリケーションコンテキスト:
<jee:jndi-lookup id="connectionFactory" jndi-name="jms/QueueConnectionFactory" />
<jee:jndi-lookup id="testQueueOne" jndi-name="jms/ITFS_RECEIVE" />
<!-- this is the Message Driven POJO (MDP) -->
<bean id="messageListener" class="com.scm.service.ExampleListener" />
<!-- and this is the message listener container -->
<bean id="jmsContainer" class="org.springframework.jms.listener.DefaultMessageListenerContainer">
<property name="connectionFactory" ref="connectionFactory"/>
<property name="destination" ref="testQueueOne"/>
<property name="messageListener" ref="messageListener" />
</bean>