Hallo zusammen,
wir haben den UXB-Service bei uns laufen mit einer externen ActiveMQ. Wir tun darüber XML Files deployen. Mit einem Broker funktioniert es aber mit 2 habe ich Probleme.
Die UX-Konfiguration sieht so aus:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jms="http://www.springframework.org/schema/jms"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://camel.apache.org/schema/spring
http://camel.apache.org/schema/spring/camel-spring.xsd
http://www.springframework.org/schema/jms
http://www.springframework.org/schema/jms/spring-jms-3.0.xsd">
<bean id="jms" class="org.apache.camel.component.jms.JmsComponent">
<property name="connectionFactory">
<bean class="org.apache.activemq.ActiveMQConnectionFactory">
<property name="brokerURL"
value="failover:(tcp://dmztomint01:61616)?maxReconnectAttempts=2&startupMaxReconnectAttempts=10"/>
</bean>
</property>
</bean>
<bean id="jms2" class="org.apache.camel.component.jms.JmsComponent">
<property name="connectionFactory">
<bean class="org.apache.activemq.ActiveMQConnectionFactory">
<property name="brokerURL"
value="failover:(tcp://dmztomint02:61616)?maxReconnectAttempts=2&startupMaxReconnectAttempts=10"/>
</bean>
</property>
</bean>
<bean id="pooledConnectionFactory" class="org.apache.activemq.pool.PooledConnectionFactory"
destroy-method="stop">
<property name="maxConnections" value="10"/>
<property name="maximumActiveSessionPerConnection" value="500"/>
<property name="connectionFactory" ref="jmsConnectionFactory"/>
</bean>
<bean id="pooledConnectionFactory2" class="org.apache.activemq.pool.PooledConnectionFactory"
destroy-method="stop">
<property name="maxConnections" value="10"/>
<property name="maximumActiveSessionPerConnection" value="500"/>
<property name="connectionFactory" ref="jmsConnectionFactory2"/>
</bean>
<bean id="jmsConfig" class="org.apache.camel.component.jms.JmsConfiguration">
<property name="connectionFactory" ref="pooledConnectionFactory"/>
<property name="transacted" value="false"/>
<property name="concurrentConsumers" value="10"/>
<property name="deliveryPersistent" value="true" />
</bean>
<bean id="jmsConfig2" class="org.apache.camel.component.jms.JmsConfiguration">
<property name="connectionFactory" ref="pooledConnectionFactory2"/>
<property name="transacted" value="false"/>
<property name="concurrentConsumers" value="10"/>
<property name="deliveryPersistent" value="true" />
</bean>
<bean id="jmsConnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory">
<property name="brokerURL" value="failover:(tcp://dmztomint01:61616)?maxReconnectAttempts=2&startupMaxReconnectAttempts=10"/>
</bean>
<bean id="jmsConnectionFactory2" class="org.apache.activemq.ActiveMQConnectionFactory">
<property name="brokerURL" value="failover:(tcp://dmztomint02:61616)?maxReconnectAttempts=2&startupMaxReconnectAttempts=10"/>
</bean>
<bean id="activemq" class="org.apache.activemq.camel.component.ActiveMQComponent">
<property name="configuration" ref="jmsConfig"/>
</bean>
<bean id="activemq2" class="org.apache.activemq.camel.component.ActiveMQComponent">
<property name="configuration" ref="jmsConfig2"/>
</bean>
<camelContext xmlns="http://camel.apache.org/schema/spring" id="camelContext" trace="false">
<package>com.espirit.moddev.uxbridge.service</package>
<template id="producerTemplate"/>
<endpoint id="FS-Out" uri="activemq:topic:FS_OUT"></endpoint>
<onException>
<exception>java.lang.Exception</exception>
<handled>
<constant>true</constant>
</handled>
<process ref="uxbExceptionProcessor" />
</onException>
<route id="Adapter-Statistics-Response-Route">
<from uri="jms:topic:FS_IN"/>
<convertBodyTo type="com.espirit.moddev.uxbridge.api.v1.service.UXBEntity"/>
<bean ref="UxbServiceStatisticsResponseHandler" method="print"/>
</route>
<route id="Adapter-Statistics-Response-Route2">
<from uri="jms2:topic:FS_IN"/>
<convertBodyTo type="com.espirit.moddev.uxbridge.api.v1.service.UXBEntity"/>
<bean ref="UxbServiceStatisticsResponseHandler2" method="print"/>
</route>
<route>
<from uri="activemq:topic:FS_OUT"/>
<to uri="activemq2:topic:FS_OUT"/>
</route>
</camelContext>
<bean id="UxbServiceStatisticsResponseHandler"
class="com.espirit.moddev.uxbridge.service.UxbServiceStatisticsResponseHandler">
<constructor-arg ref="camelContext"/>
</bean>
<bean id="UxbServiceStatisticsResponseHandler2"
class="com.espirit.moddev.uxbridge.service.UxbServiceStatisticsResponseHandler">
<constructor-arg ref="camelContext"/>
</bean>
<bean id="uxbExceptionProcessor" class="com.espirit.moddev.uxbridge.inline.UxbExceptionProcessor"/>
</beans>
Ich bekomme allerdings Probleme in der Queue die bei mir "activemq2" heißt. Dort werden mehr Messages deployt und ich bekomme Message in meine DLQ.
Gibt es Konfigurationsbeispiele wo ich die gleiche Anzahl an Nachrichten an mehrere Broker URLs versenden kann?
Danke und Grüße
Josef