[ 
https://issues.apache.org/jira/browse/TRANSPORTS-28?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12966257#action_12966257
 ] 

Hiranya Jayathilaka commented on TRANSPORTS-28:
-----------------------------------------------

You are right in the sense that consumers and producers are not thread safe. In 
that case why do we support caching these objects? Isn't that something we 
should fix?

> 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&amp;java.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactory&amp;java.naming.provider.url=tcp://localhost:61616&amp;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]

Reply via email to