Error in JMS Sender When Producer Caching is Enabled
----------------------------------------------------
Key: TRANSPORTS-28
URL: https://issues.apache.org/jira/browse/TRANSPORTS-28
Project: Axis2 Transports
Issue Type: Bug
Components: JMS
Affects Versions: 1.1.0
Reporter: Hiranya Jayathilaka
Define the following connection factory for the JMS sender (note the cache
level parameter):
<parameter name="default">
<parameter
name="java.naming.factory.initial">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
<parameter
name="java.naming.provider.url">tcp://localhost:61616</parameter>
<parameter
name="transport.jms.ConnectionFactoryJNDIName">QueueConnectionFactory</parameter>
<parameter name="transport.jms.CacheLevel">producer</parameter>
</parameter>
Now try to send a message to the EPR
"jms:/SimpleStockQuoteService?transport.jms.ConnectionFactoryJNDIName=QueueConnectionFactory&java.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactory&java.naming.provider.url=tcp://localhost:61616&transport.jms.DestinationType=queue"
Following exception is thrown:
2010-12-02 01:07:41,367 [-] [HttpServerWorker-1] ERROR Axis2Sender Unexpected
error during sending message out
java.lang.UnsupportedOperationException: A destination must be specified.
at
org.apache.activemq.ActiveMQMessageProducer.send(ActiveMQMessageProducer.java:195)
at
org.apache.activemq.ActiveMQMessageProducerSupport.send(ActiveMQMessageProducerSupport.java:241)
at
org.apache.axis2.transport.jms.JMSMessageSender.send(JMSMessageSender.java:141)
at
org.apache.axis2.transport.jms.JMSSender.sendOverJMS(JMSSender.java:203)
at
org.apache.axis2.transport.jms.JMSSender.sendMessage(JMSSender.java:150)
at
org.apache.axis2.transport.base.AbstractTransportSender.invoke(AbstractTransportSender.java:112)
at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:443)
at
org.apache.axis2.description.OutOnlyAxisOperationClient.executeImpl(OutOnlyAxisOperation.java:278)
at
org.apache.axis2.client.OperationClient.execute(OperationClient.java:165)
at
org.apache.synapse.core.axis2.Axis2FlexibleMEPClient.send(Axis2FlexibleMEPClient.java:403)
at org.apache.synapse.core.axis2.Axis2Sender.sendOn(Axis2Sender.java:57)
at
org.apache.synapse.core.axis2.Axis2SynapseEnvironment.send(Axis2SynapseEnvironment.java:219)
at
org.apache.synapse.endpoints.AbstractEndpoint.send(AbstractEndpoint.java:253)
at
org.apache.synapse.endpoints.AddressEndpoint.send(AddressEndpoint.java:59)
at
org.apache.synapse.core.axis2.ProxyServiceMessageReceiver.receive(ProxyServiceMessageReceiver.java:173)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:178)
at
org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:173)
at
org.apache.synapse.transport.nhttp.ServerWorker.processEntityEnclosingMethod(ServerWorker.java:416)
at
org.apache.synapse.transport.nhttp.ServerWorker.run(ServerWorker.java:267)
at
org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:58)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
Without the cache level parameter in the connection factory configuration,
above will work fine.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]