日期:2014-05-17  浏览次数:20810 次

spring 代理的jms监听类如何启动
最近项目中用到了IBM 的MQ用spring代理了jndi后如何启动这个类?
监听接收类,如何启动这个监听类一直在项目中异步接收消息。
public class SyncListener implements MessageListener {

public void onMessage(Message message) {
}
}
spring配置文件
<!-- 队列配置 begin -->
<bean id="QU_REV"
class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiTemplate" ref="jndiTemplate" />
<property name="resourceRef" value="false" />
<property name="jndiName" value="QU_BR_REV" />
</bean>
<!-- 队列配置 end -->

<bean id="SyncListener" class="net.SyncListener">
<property name="userTransaction" ref="atomikosUserTransaction" />
</bean>

<bean id="BarComplainListenerContainer"
class="org.springframework.jms.listener.DefaultMessageListenerContainer">
<!-- 线程数 -->
<property name="concurrentConsumers" value="4" />
<!-- 队列工厂 -->
<property name="connectionFactory" ref="QM_TEST" />
<!-- 队列 -->
<property name="destination" ref="QU_BR_REV" />
<!-- 队列监听器 -->
<property name="messageListener" ref="SyncListener" />
<!--<property name="autoStartup" value="false" />
--><!-- 事务管理器 -->
<property name="transactionManager" ref="transactionManager" />
<property name="sessionTransacted" value="false" />
<property name="receiveTimeout" value="3000" />
<property name="recoveryInterval" value="6000" />
</bean>
其他的jndiTemplate已经配置好。

------解决方案--------------------
container 就可以