From dev-return-24230-apmail-activemq-dev-archive=activemq.apache.org@activemq.apache.org Tue Jan 04 15:53:13 2011 Return-Path: Delivered-To: apmail-activemq-dev-archive@www.apache.org Received: (qmail 22353 invoked from network); 4 Jan 2011 15:53:12 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 4 Jan 2011 15:53:12 -0000 Received: (qmail 24980 invoked by uid 500); 4 Jan 2011 15:53:12 -0000 Delivered-To: apmail-activemq-dev-archive@activemq.apache.org Received: (qmail 24724 invoked by uid 500); 4 Jan 2011 15:53:10 -0000 Mailing-List: contact dev-help@activemq.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@activemq.apache.org Delivered-To: mailing list dev@activemq.apache.org Received: (qmail 24644 invoked by uid 99); 4 Jan 2011 15:53:10 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 04 Jan 2011 15:53:10 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.22] (HELO thor.apache.org) (140.211.11.22) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 04 Jan 2011 15:53:08 +0000 Received: from thor (localhost [127.0.0.1]) by thor.apache.org (8.13.8+Sun/8.13.8) with ESMTP id p04Fqku8006104 for ; Tue, 4 Jan 2011 15:52:46 GMT Message-ID: <21450971.135331294156366405.JavaMail.jira@thor> Date: Tue, 4 Jan 2011 10:52:46 -0500 (EST) From: "Peter Chandler (JIRA)" To: dev@activemq.apache.org Subject: [jira] Commented: (AMQ-2963) JMSBridgeConnectors does not work with IBM MQ and ActiveMQ 5.4.0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/jira/browse/AMQ-2963?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12977320#action_12977320 ] Peter Chandler commented on AMQ-2963: ------------------------------------- Thanks for the fix :-) > JMSBridgeConnectors does not work with IBM MQ and ActiveMQ 5.4.0 > ---------------------------------------------------------------- > > Key: AMQ-2963 > URL: https://issues.apache.org/jira/browse/AMQ-2963 > Project: ActiveMQ > Issue Type: Bug > Components: Connector > Affects Versions: 5.3.0, 5.3.1, 5.3.2, 5.4.0, 5.4.1 > Environment: Operating System - Windows XP Professional > Tomcat v6.0.28 > IBM Websphere MQ v7.0.1.2 > ActiveMQ 5.4.0 > Reporter: Rajeev Verma > Assignee: Gary Tully > Fix For: 5.5.0 > > > We are trying to create a bridge with IBM Websphere Queue and ActiveMQ queue. We have defined a broker in activemq.xml with following jmsBridgeConnectors information: > > outboundQueueConnectionFactory="#remoteFactory"> > > > > > > We are getting below error with activemq 5.4.0 and it works fine with version 5.2.0: > com.ibm.msg.client.jms.DetailedInvalidDestinationException: JMSCMQ0005: The destination name '://IBM.TO.ACTIVEMQ' was not valid. The destination name specified does not conform to published destination syntax. Correct the specified destination name and try again. > at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) > at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) > at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) > at java.lang.reflect.Constructor.newInstance(Constructor.java:513) > at com.ibm.msg.client.commonservices.j2se.NLSServices.createException(NLSServices.java:313) > at com.ibm.msg.client.commonservices.nls.NLSServices.createException(NLSServices.java:388) > at com.ibm.msg.client.wmq.common.internal.WMQDestinationURIParser.setUri(WMQDestinationURIParser.java:524) > at com.ibm.msg.client.wmq.common.internal.WMQDestination.(WMQDestination.java:3148) > at com.ibm.msg.client.wmq.common.internal.WMQDestination.(WMQDestination.java:3104) > at com.ibm.msg.client.wmq.factories.WMQFactoryFactory.createProviderDestination(WMQFactoryFactory.java:444) > at com.ibm.msg.client.jms.admin.JmsDestinationImpl.setProviderDestination(JmsDestinationImpl.java:333) > at com.ibm.msg.client.jms.admin.JmsDestinationImpl.initialise(JmsDestinationImpl.java:231) > at com.ibm.msg.client.jms.admin.JmsDestinationImpl.(JmsDestinationImpl.java:196) > at com.ibm.msg.client.jms.admin.JmsJndiDestinationImpl.(JmsJndiDestinationImpl.java:129) > at com.ibm.mq.jms.MQDestination.(MQDestination.java:186) > at com.ibm.msg.client.wmq.factories.admin.WMQJmsFactory.createDestination(WMQJmsFactory.java:125) > at com.ibm.msg.client.jms.internal.JmsMessageImpl.providerDestToJmsDest(JmsMessageImpl.java:2111) > at com.ibm.msg.client.jms.internal.JmsMessageImpl.getJMSDestination(JmsMessageImpl.java:686) > at com.ibm.jms.JMSMessage.getJMSDestination(JMSMessage.java:605) > at org.apache.activemq.ActiveMQMessageTransformation.copyProperties(ActiveMQMessageTransformation.java:206) > at org.apache.activemq.ActiveMQMessageTransformation.transformMessage(ActiveMQMessageTransformation.java:188) > at org.apache.activemq.ActiveMQSession.send(ActiveMQSession.java:1720) > at org.apache.activemq.ActiveMQMessageProducer.send(ActiveMQMessageProducer.java:231) > at org.apache.activemq.ActiveMQMessageProducerSupport.send(ActiveMQMessageProducerSupport.java:300) > at org.apache.activemq.ActiveMQQueueSender.send(ActiveMQQueueSender.java:111) > at org.apache.activemq.network.jms.QueueBridge.sendMessage(QueueBridge.java:80) > at org.apache.activemq.network.jms.DestinationBridge.onMessage(DestinationBridge.java:129) > at com.ibm.mq.jms.MQMessageConsumer$FacadeMessageListener.onMessage(MQMessageConsumer.java:399) > at com.ibm.msg.client.jms.internal.JmsMessageConsumerImpl$JmsProviderMessageListener.onMessage(JmsMessageConsumerImpl.java:904) > at com.ibm.msg.client.wmq.internal.WMQAsyncConsumerShadow.honourNoLocal(WMQAsyncConsumerShadow.java:550) > at com.ibm.msg.client.wmq.internal.WMQAsyncConsumerShadow.consumer(WMQAsyncConsumerShadow.java:384) > at com.ibm.mq.jmqi.remote.internal.RemoteAsyncConsume.driveConsumer(RemoteAsyncConsume.java:1478) > at com.ibm.mq.jmqi.remote.internal.RemoteDispatchThread.run(RemoteDispatchThread.java:385) > at com.ibm.msg.client.commonservices.workqueue.WorkQueueItem.runTask(WorkQueueItem.java:209) > at com.ibm.msg.client.commonservices.workqueue.SimpleWorkQueueItem.runItem(SimpleWorkQueueItem.java:100) > at com.ibm.msg.client.commonservices.workqueue.WorkQueueItem.run(WorkQueueItem.java:224) > at com.ibm.msg.client.commonservices.workqueue.WorkQueueManager.runWorkQueueItem(WorkQueueManager.java:298) > at com.ibm.msg.client.commonservices.j2se.workqueue.WorkQueueManagerImplementation$ThreadPoolWorker.run(WorkQueueManagerImplementation.java:1220) > I looked at the code for class ActiveMQsession has a method send which was modified after v 5.2.0 and below lines of code were moved before transforming the IBM JMS Message to Active MQ message: > message.setJMSDestination(destination); > message.setJMSDeliveryMode(deliveryMode); > long expiration = 0L; > if (!producer.getDisableMessageTimestamp()) { > long timeStamp = System.currentTimeMillis(); > message.setJMSTimestamp(timeStamp); > if (timeToLive > 0) { > expiration = timeToLive + timeStamp; > } > } > message.setJMSExpiration(expiration); > message.setJMSPriority(priority); > message.setJMSRedelivered(false); > Now code sets the ActiveMQDestination as the JMS destination to IBM Message before transformation and we are getting above error when JMS properties are getting copied from IBM Message to ActiveMQMessage inside ActiveMQMessageTransformation. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.