ActiveMQ as foreign JMS provider to BEA WLS 8.1/10
--------------------------------------------------
Key: AMQ-1551
URL: https://issues.apache.org/activemq/browse/AMQ-1551
Project: ActiveMQ
Issue Type: Bug
Affects Versions: 4.1.1
Environment: BEA WLS 8.1/10
SuSE SLES 9
Reporter: Christian Burger
During evaluation of ActiveMQ we found incompatibilties´of MQ with BEA WLS 8.1
and WLS 10. We contacted the BEA support - they where investigating and
pinpointed the problem:
Hello ,
This is regarding your support case ABCDEF titled Need help in configuring
message bridge with ActiveMQ. Here I am with the response from the next level
of support team on the following NullPointerException that I am getting while
configuring a message bridge with WLS. It is observed that even other customers
are also observing the same exception while configuring a message bridge with
ActiveMQ.
<AdminServer> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default
(self-tuning)'> <<anonymous>> <> <> <1197983909603> <BEA-000000> <Exception:
javax.jms.JMSException: java.lang.NullPointerException
at
org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:46)
at
org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1181)
at org.apache.activemq.ActiveMQSession.send(ActiveMQSession.java:1551)
at
org.apache.activemq.ActiveMQMessageProducer.send(ActiveMQMessageProducer.java:465)
at
org.apache.activemq.ActiveMQMessageProducer.send(ActiveMQMessageProducer.java:356)
at
weblogic.jms.adapter.JMSBaseConnection.sendInternal(JMSBaseConnection.java:794)
at weblogic.jms.adapter.JMSBaseConnection.access$200(JMSBaseConnection.java:84)
at weblogic.jms.adapter.JMSBaseConnection$6.run(JMSBaseConnection.java:707)
at
weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
at weblogic.security.service.SecurityManager.runAs(Unknown Source)
at weblogic.jms.adapter.JMSBaseConnection.send(JMSBaseConnection.java:704)
It is confirmed that this is not an issue with WLS, but Active MQ not setting
the JMS Destination after the message is sent. As per the JMS specification, it
states that the JMSDestination should be set AFTER the message is sent. In the
case of a client contacting weblogic, this should be the wlclient.jar classes,
as these are used to handle the connection; in the case of wls -> wls via
messaging bridge, it will still be the same classes, although these will
embedded within the JMS server.
In the case of WLS -> ActiveMQ via a messaging bridge, the messaging bridge
will create a connection to ActiveMQ using the ActiveMQ client classes. The
messaging bridge won't be able to set the JMSDestination, because it can't be
done after the message is sent. It can be done by either the ActiveMQ client
classes or the ActiveMQ JMS server, becasue these will handle the post send
method methods.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.