【发布时间】:2015-10-13 10:50:32
【问题描述】:
我使用的是 Spring Integration JMS 4.1,在 JBoss 中配置了 Topic,然后在 Spring 集成中配置如下,并发消费者和最大并发消费者等于 1。但运行应用程序后,jboss 显示连接消费者为 2。因为其中,应用程序两次收到相同的消息。我尝试了所有的可能性,我做不到。请帮我。我只需要与 Topic 建立一个消费者连接,或者只需要接收一次消息。
<bean id="connectionFactory" class="org.springframework.jms.connection.CachingConnectionFactory">
<property name="targetConnectionFactory" ref="myTargetConnectionFactory">
</property>
<property name="sessionCacheSize" value="10" />
<property name="cacheProducers" value="false" />
<property name="cacheConsumers" value="false"/>
</bean>
<bean id="myTargetConnectionFactory" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="ConnectionFactory"/>
<property name="jndiEnvironment">
<props>
<prop key="java.naming.factory.initial">org.jnp.interfaces.NamingContextFactory</prop>
<prop key="java.naming.factory.url.pkgs">org.jboss.naming:org.jnp.interfaces</prop>
<prop key="java.naming.provider.url">localhost:1199</prop>
</props>
</property>
</bean>
<jms:message-driven-channel-adapter pub-sub-domain="true" connection-factory="connectionFactory" channel="incomeChannel" destination-name="SampleSub"concurrent-consumers="1" max-concurrent-consumers="1"/>
【问题讨论】: