[
http://jira.jboss.com/jira/browse/JBPM-1167?page=comments#action_12411650 ]
Alejandro Guizar commented on JBPM-1167:
----------------------------------------
From the javadoc for MessageProducer.send(Destination, Message):
Throws:
UnsupportedOperationException - if a client uses this method with a MessageProducer that
specified a destination at creation time.
Our JmsMessageServiceImpl creates a message producer like this:
messageProducer = session.createProducer(destination);
then sends the message like this:
messageProducer.send(destination, message);
Strictly speaking, an implementation is right about throwing an
UnsupportedOperationException on the second call. In the special case the destination
provided in send() is the same as the one supplied at creation time, the implementation
may choose to be forgiving. This explains the varying behavior between implementations.
The fix for this issue is simply eliminating the destination parameter from the second
call.
JMS message service fails under WebSphere 6.1
---------------------------------------------
Key: JBPM-1167
URL:
http://jira.jboss.com/jira/browse/JBPM-1167
Project: JBoss jBPM
Issue Type: Bug
Components: Core Engine
Affects Versions: jBPM jPDL 3.2.2
Reporter: Alejandro Guizar
Assigned To: Alejandro Guizar
Fix For: jBPM jPDL 3.2.3, jBPM 3.2.2 SOA 1
The application is using jBPM under WebSphere 6.1 and using jbpm-enterprise.jar that
ships with JBPM 3.2.2 for asynchronous continuation. When JBPM hits an async node, the
JmsMessageServiceImpl class gets invoked to send a JMS message, resulting in this
exception:
Note: the WebSphere MQ messaging provider is being used.
java.lang.UnsupportedOperationException: MQJMS1014: operation invalid for identified
producer
at com.ibm.mq.jms.MQMessageProducer.send(MQMessageProducer.java:1184)
at com.ibm.mq.jms.MQMessageProducer.send(MQMessageProducer.java:3132)
at com.ibm.ejs.jms.JMSMessageProducerHandle.send(JMSMessageProducerHandle.java
:1014)
at org.jbpm.msg.jms.JmsMessageServiceImpl.send(JmsMessageServiceImpl.java:77)
at org.jbpm.graph.def.Node.enter(Node.java:316)
[...]
Looking up the error code at the top of the stack trace yields:
MQJMS1014 Operation invalid for identified producer.
Explanation: The QueueSender.send method has been performed on an identified QueueSender,
which contradicts the JMS specification
User Response: See QueueSender and the JMS specification
(
http://java.sun.com/products/jms/docs.html) for further information.
--
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