I have a standard message that I send from ActiveMQ queue to an endpoint in servicemix.
The servicemix should route to IBM MQ endpoint .
I get the following error
InOnly[
id: ID:192.168.10.104-11ac0fda54c-4:1
status: Active
role: provider
service: {http://servicemix.org/demo/}JmsProvider
endpoint: provider
in: <?xml version="1.0" encoding="UTF-8"?><sample xmlns="http://exmaple.com"><data>
BM MQ Bridge to Active MQ Bridge Message form Lisa - _swdvrh005
</data></sample>
]
javax.jms.JMSException: MQJMS1013: operation invalid whilst session is using asynchronous delivery
at com.ibm.mq.jms.services.ConfigEnvironment.newException(ConfigEnvironment.java:595)
at com.ibm.mq.jms.MQMessageProducer.send(MQMessageProducer.java:1149)
at com.ibm.mq.jms.MQMessageProducer.send(MQMessageProducer.java:1207)
at org.apache.servicemix.jms.multiplexing.MultiplexingProviderProcessor.process(MultiplexingProviderProcessor.java:155)
at org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:538)
at org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:490)
at org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46)
<?xml version="1.0" encoding="utf-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<beans xmlns="http://xbean.org/schemas/spring/1.0"
xmlns:spring="http://xbean.org/schemas/spring/1.0"
xmlns:sm="http://servicemix.apache.org/config/1.0"
xmlns:foo="http://servicemix.org/demo/"
xmlns:amq="http://activemq.org/config/1.0"
xmlns:saxon="http://servicemix.apache.org/saxon/1.0"
xmlns:util="http://www.springframework.org/schema/util"
xmlns:eip="http://servicemix.apache.org/eip/1.0"
xmlns:jms="http://servicemix.apache.org/jms/1.0">
<bean id="jndi" class="org.apache.xbean.spring.jndi.SpringInitialContextFactory" factory-method="makeInitialContext"
singleton="true" />
<!-- the JBI container -->
<sm:container id="jbi" name="bridge" useMBeanServer="true" createMBeanServer="true">
<!-- Use a SEDA flow + JMS flow for clustering. -->
<sm:flows>
<sm:sedaFlow />
</sm:flows>
<sm:activationSpecs>
<!-- EIP -->
<sm:activationSpec componentName="eipPipelinepoller" service="foo:eipPipelinepoller">
<sm:component>
<eip:component>
<eip:endpoints>
<eip:pipeline service="foo:eipPipelinepoller" endpoint="poller_pipeline">
<eip:transformer>
<eip:exchange-target service="foo:xsltpoller" />
</eip:transformer>
<eip:target>
<eip:exchange-target service="foo:JmsProvider" />
</eip:target>
</eip:pipeline>
</eip:endpoints>
</eip:component>
</sm:component>
</sm:activationSpec>
<!-- Read payload from JMS -->
<sm:activationSpec componentName="JmsConsumer">
<sm:component>
<jms:component>
<jms:endpoints>
<jms:endpoint service="foo:JmsConsumer" endpoint="consumer" role="consumer" defaultMep="http://www.w3.org/2004/08/wsdl/in-only"
targetService="foo:JmsProvider" targetEndpoint="provider" destinationStyle="queue"
jmsProviderDestinationName="CLUSTER.IN" connectionFactory="#connectionFactory" />
</jms:endpoints>
</jms:component>
</sm:component>
</sm:activationSpec>
<sm:activationSpec componentName="xsltpoller">
<sm:component>
<saxon:component>
<saxon:endpoints>
<saxon:xslt service="foo:xsltpoller" endpoint="endpoint" resource="file:../transform_poller.xsl" />
</saxon:endpoints>
</saxon:component>
</sm:component>
</sm:activationSpec>
<sm:activationSpec componentName="JmsProvider">
<sm:component>
<jms:component>
<jms:endpoints>
<jms:endpoint service="foo:JmsProvider" endpoint="provider" role="provider"
destinationStyle="queue" jmsProviderDestinationName="Q_SCR"
connectionFactory="#IBMconnectionFactory" />
</jms:endpoints>
</jms:component>
</sm:component>
</sm:activationSpec>
</sm:activationSpecs>
</sm:container>
<!-- External JMS -->
<amq:connectionFactory id="connectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory" brokerURL="tcp://swdvrh004:61616" />
<bean id="IBMconnectionFactory" class="com.ibm.mq.jms.MQQueueConnectionFactory">
<property name="transportType">
<util:constant static-field="com.ibm.mq.jms.JMSC.MQJMS_TP_CLIENT_MQ_TCPIP" />
</property>
<property name="queueManager" value="QM_SCR" />
<property name="hostName" value="swdvrh067" />
<property name="channel" value="CLIENT.QM_SCR" />
<property name="port" value="1417" />
</bean>
</beans>
Could you try to either:
Regards,
Gert