У меня проблема с тем, что мой мост сообщений JMS, кажется, останавливается и перезапускается WLS каждые тридцать секунд.
Насколько я могу судить, мост на самом деле работает правильно, и консоль WLS сообщает об этом как "Активные, пересылающие сообщения". Насколько мне известно, обе очереди на концах моста работают должным образом.
Сообщения, которые появляются в моем журнале WLS каждые 30 секунд, выглядят так, как показано ниже. Эти шесть строк повторяются каждый раз.
####<2011-sep-20 kl 12:48 CEST> <Info> <MessagingBridge> <host> <server> <[ACTIVE] ExecuteThread: '20' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1316515696279> <BEA-200020> <Bridge "NameOfBridge" is stopped.>
####<2011-sep-20 kl 12:48 CEST> <Info> <MessagingBridge> <host> <server> <[ACTIVE] ExecuteThread: '20' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1316515696279> <BEA-200033> <Bridge "NameOfBridge" is obtaining connections to the two adapters.>
####<2011-sep-20 kl 12:48 CEST> <Info> <Common> <host> <server> <[ACTIVE] ExecuteThread: '20' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1316515696284> <BEA-000628> <Created "1" resources for pool "eis/jms/WLSConnectionFactoryJNDIXA", out of which "1" are available and "0" are unavailable.>
####<2011-sep-20 kl 12:48 CEST> <Info> <Common> <host> <server> <[ACTIVE] ExecuteThread: '20' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1316515696340> <BEA-000628> <Created "1" resources for pool "eis/jms/WLSConnectionFactoryJNDIXA", out of which "1" are available and "0" are unavailable.>
####<2011-sep-20 kl 12:48 CEST> <Info> <MessagingBridge> <host> <server> <[ACTIVE] ExecuteThread: '20' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1316515696340> <BEA-200032> <Bridge "NameOfBridge" is configured to disallow degradation of its quality of service in cases where the configured quality of service is unreachable.>
####<2011-sep-20 kl 12:48 CEST> <Info> <MessagingBridge> <host> <server> <[ACTIVE] ExecuteThread: '20' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1316515696340> <BEA-200030> <Bridge "NameOfBridge" is configured to work in "Exactly-once" mode, and it is actually working in "Exactly-once" mode.>
После просмотра конфигурации, единственное число, которое кажется связанным, это «Время ожидания транзакции», которое установлено на 30
. Это будет означать, что мост открывает транзакцию напрямую, затем завершается неудачей (либо потому, что я настроил что-то неправильно, либо просто потому, что ничего не происходит), затем закрывает транзакцию / мост и перезапускает ее. Я бы не ожидал такого поведения, но, возможно, именно так оно и работает?
Я использую WLS 10.3.0.0.
Обновление: Соответствующая конфигурация с config.xml
:
<messaging-bridge>
<name>NameOfBridge</name>
<target>servercluster</target>
<source-destination>NameOfBridgeLocalDest</source-destination>
<target-destination>NameOfBridgeRemoteDest</target-destination>
<selector></selector>
<quality-of-service>Exactly-once</quality-of-service>
<started>true</started>
</messaging-bridge>
<jms-bridge-destination>
<name>NameOfBridgeLocalDest</name>
<adapter-jndi-name>eis.jms.WLSConnectionFactoryJNDIXA</adapter-jndi-name>
<classpath></classpath>
<connection-factory-jndi-name>JmsXA</connection-factory-jndi-name>
<initial-context-factory>weblogic.jndi.WLInitialContextFactory</initial-context-factory>
<connection-url></connection-url>
<destination-jndi-name>queue/NameOfQueue</destination-jndi-name>
<destination-type>Queue</destination-type>
</jms-bridge-destination>
<jms-bridge-destination>
<name>NameOfBridgeRemoteDest</name>
<adapter-jndi-name>eis.jms.WLSConnectionFactoryJNDIXA</adapter-jndi-name>
<classpath></classpath>
<connection-factory-jndi-name>ConnectionFactory</connection-factory-jndi-name>
<initial-context-factory>org.jnp.interfaces.NamingContextFactory</initial-context-factory>
<connection-url>jnp://server:port</connection-url>
<destination-jndi-name>queue/NameOfQueue</destination-jndi-name>
<destination-type>Queue</destination-type>
</jms-bridge-destination>