Транзакционные сеансы или сеансы XA не поддерживаются с помощью прямого транспорта - PullRequest
0 голосов
/ 26 апреля 2019

Когда я использую solace в качестве сервера обмена сообщениями, у меня возникает это исключение.

MessageListenerContainer  -  Setup of JMS message listener invoker failed for destination 'XXX.QUE' - trying to recover. Cause: Transacted sessions or XA sessions are not supported with direct transport

Я использую SESSION_TRANSACTED для фиксации транзакции вручную

Вот некоторые настройки.

<bean id="solacelay2ConnF" class="com.solacesystems.jms.SolJmsUtility" factory-method="createConnectionFactory">
        <property name="host" value="${solace.jms.url}"></property>
        <property name="username" value="${solace.jms.username}"></property>
        <property name="password" value="${solace.jms.password}"></property>
        <property name="VPN" value="${solace.jms.vpn}"></property>
    </bean>
    <bean id="solace"
        class="org.springframework.jms.connection.CachingConnectionFactory">
        <property name="targetConnectionFactory" ref="solacelay2ConnF" />
        <property name="sessionCacheSize" value="30" />
    </bean>
    <bean id="JMSC" class="org.apache.camel.component.jms.JmsComponent">
        <property name="connectionFactory" ref="solace" />
    </bean>
<camelContext id="JMS_MCI" xmlns="http://camel.apache.org/schema/spring">
        <endpoint id="commonJmsMciInQue" uri="JMSC:queue:XXX.QUE">
            <property key="testConnectionOnStartup" value="true" />
            <property key="disableReplyTo" value="true" />
            <property key="concurrentConsumers" value="10" />
            <property key="acknowledgementModeName" value="SESSION_TRANSACTED" />
        </endpoint>
        <route id="JMS_MCI_LISTENER">
            <from ref="commonJmsMciInQue" />
            <from uri="direct:mciMsg" />
            <process ref="mciMsgListener" />
        </route>
</camelContext>

Может ли кто-нибудь помочь?

Большое спасибо! ~

1 Ответ

1 голос
/ 29 апреля 2019

Вероятно, у вас включен "Прямой транспорт" в объекте фабрики соединений с именем solacelay2ConnF на стороне посредника сообщений Solace PubSub +.Когда включен режим прямого транспорта, клиент не может создать транзакционный сеанс.

...