You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "Hiranya Jayathilaka (JIRA)" <ji...@apache.org> on 2010/12/02 21:28:10 UTC

[jira] Issue Comment Edited: (TRANSPORTS-28) Error in JMS Sender When Producer Caching is Enabled

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

Hiranya Jayathilaka edited comment on TRANSPORTS-28 at 12/2/10 3:27 PM:
------------------------------------------------------------------------

One possible usecase is with systems that deal with very low loads. For an example a system generating a heart beat every hour which needs be sent to a JMS queue. For Axis2 this isn't a very interesting usecase. But for something like Synapse this is very useful.

      was (Author: hiranya):
    One possible usecase is with systems that deal with very low loads. For an example a system generating a heart beat every hour which needs be sent to a JMS queue.
  
> 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: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org