2015-10-13 40 views
0

我正在使用Spring Integration JMS 4.1,在JBoss中配置Topic,然後在Spring集成中配置如下,併發消費者和最大併發消費者等於1.但是在運行應用程序之後, jboss顯示連接的消費者是2.因此,應用程序在兩次獲取相同的消息。我嘗試了所有的可能性,我無法做到。請幫幫我。我只需要與主題建立一個消費者連接,或者只需要接收一次消息。Spring集成JMS適配器連接Jboss中的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"/> 

回答

0

這個問題的最常見的原因是爲了避免錯誤兩次加載應用程序上下文 - 一旦在web上下文(調度的servlet),一次在在web.xml根上下文(上下文加載偵聽)。

+0

謝謝,我需要檢查。在那種情況下,我們如何避免這種情況? –

+0

確保配置不包含(或導入)在兩個地方。 –

相關問題