JMSTransportSupport is not portable across different JMS providers.
-------------------------------------------------------------------
Key: JBAS-3630
URL:
http://jira.jboss.com/jira/browse/JBAS-3630
Project: JBoss Application Server
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: Web Services
Affects Versions: JBossAS-4.0.4.GA
Reporter: Darran Lofthouse
Assigned To: Thomas Diesler
Fix For: JBossAS-4.0.6.CR1
JMSTransportSupport is not portable across different JMS providers, the queue name is
retrieved using the following code: -
String fromName = null;
Destination destination = message.getJMSDestination();
if (destination instanceof Queue)
fromName = "queue/" + ((Queue)destination).getQueueName();
if (destination instanceof Topic)
fromName = "topic/" + ((Topic)destination).getTopicName();
For JBossMQ this is fine and it results in a name that matches the JNDI name of the queue,
for WebSphereMQ this returns the name of the queue as configured on WebSphere not the JNDI
name the queue is bound to in JBoss.
The Javadoc for Queue describes the getQueueName as not being suitable for portable
clients: -
http://java.sun.com/j2ee/1.4/docs/api/javax/jms/Queue.html
A more portable solution could be to lookup a variable in the ENC that contains the name
of the web service, this could either be provided by the user deploying the MDB or the web
service deployer could bind a value to the ENC of the message driven bean as the web
service is deployed.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira