Ich habe diese seit Tagen betrachtet und habe immer noch keinen Erfolg gehabt.Wie Camel zu verwenden, um Nachricht von remote WMQ zu erhalten, und Nachricht in ActiveMQ zu platzieren?
Ich habe ActiveMQ auf einem Server installieren und ausführen. Erstellt eine Warteschlange namens "testUpdate". Ich habe auch eine andere Warteschlange auf einem anderen Server, nennen Sie dies "weiterleiten" und dies ist auf dem IBM MQ (WMQ). So
wir haben testUpdate auf ActiveMQ und vorwärts auf WMQ. Ich möchte die Nachricht auf weiterleiten Warteschlange in testUpdate Warteschlange platziert werden. Versuchen, Camel für diesen Prozess zu verwenden.
Also das Setup in ActiveMQ hat eine XML (activemq.xml), die ich Spring Bohnen platzieren und konfigurieren kann, um das Routing zu tun. In diesem xml, ich http://camel.apache.org/schema/springhttp://camel.apache.org/schema/spring/camel-spring.xsd den xmlns hinzugefügt und dann hinzugefügt
import resource = "camel.xml"
In diesem neuen xml, habe ich folgendes:
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">
<route>
<description>Example Camel Route</description>
<from uri="mqseries:forward"/>
<to uri="activemq:testUpdate"/>
</route>
</camelContext>
<bean id="mqseries" class="com.ibm.mq.jms.MQQueueConnectionFactory">
<property name="transportType" value="1"/>
<property name="hostName" value="172.00.12.21/>
<property name="port" value="xyza"/>
<property name="queueManager" value="manager"/>
<property name="channel" value="srvcChannel"/>
</bean>
<!--
Lets configure some Camel endpoints
http://camel.apache.org/components.html
-->
<!-- configure the camel activemq component to use the current broker -->
<bean id="activemq" class="org.apache.activemq.camel.component.ActiveMQComponent" >
<property name="connectionFactory">
<bean class="org.apache.activemq.ActiveMQConnectionFactory">
<property name="brokerURL" value="vm://amq-broker?create=false"/>
<property name="userName" value="${activemq.username}"/>
<property name="password" value="${activemq.password}"/>
</bean>
</property>
</bean>
</beans>
I Die JAR-Datei com.ibm.mq.allclient.jar wurde in den lib-Ordner von ActiveMQ hinzugefügt. Wenn ich das Programm ausführe, erhalte ich folgende Ausnahme: java.lang.ClassNotFoundException: javax.jms.JMSRuntimeException
Es hört sich an, als würde ich die websphere jar Datei vermissen? Ist das richtig?
Danke Matthew. Der zweite Teil der IBM XML-Einstellung ist das, was ich verpasst habe ... Heute Morgen herausgefunden. Erstellen eines org.apache.camel.component .... Stücks. Ich habe auch eine IBM JAR-Datei vermisst. – pompanoSlayer