首页 文章

Spring集成JMS适配器与Jboss中的Topic连接

提问于
浏览
0

我正在使用Spring Integration JMS 4.1,在JBoss中配置了Topic,然后在Spring集成中配置如下,并发消费者和最大并发消费者等于1.但是在运行应用程序之后,jboss显示为连接消费者是2.因此,应用程序两次获得相同的消息 . 我尝试了所有的可能性,我做不到 . 请帮我 . 我需要只有一个与主题的消费者连接或只需要一次接收消息 .

<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"/>

1 回答

  • 0

    导致此问题的最常见原因是错误地加载应用程序上下文两次 - 一次在Web上下文(调度程序servlet)中,一次在web.xml中的根上下文(上下文加载程序侦听器)中 .

相关问题