[
https://issues.apache.org/jira/browse/SYNAPSE-435?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Andreas Veithen reassigned SYNAPSE-435:
---------------------------------------
Assignee: Asankha C. Perera
Assigning this issue to Asankha since he is already working on it.
> The JMS transport should only accept messages when it is ready to process them
> ------------------------------------------------------------------------------
>
> Key: SYNAPSE-435
> URL: https://issues.apache.org/jira/browse/SYNAPSE-435
> Project: Synapse
> Issue Type: Bug
> Components: Transports
> Affects Versions: 1.2
> Reporter: Andreas Veithen
> Assignee: Asankha C. Perera
> Priority: Critical
> Fix For: 1.3
>
>
> This issue was initially described by Hans Drexler on the Axis mailing list:
> http://www.nabble.com/axis2-JMS-transport-support-status--to19028249.html
> While the report referred to the JMS transport version in Axis2 1.4, the
> current version in Synapse has the same problem: the JMS transport listener
> uses an asynchronous MessageListener (implemented by JMSMessageReceiver) that
> immediately hands the received message over to a worker pool. This means that
> the transport listener takes the messages as they arrive on the queue. On the
> other hand, the worker pool is configured with an unbound work queue. The
> effect is that if all threads in the pool are busy, the incoming JMS messages
> will be stored in memory and only processed later. This strategy has several
> issues:
> * If the number of incoming messages is large, this can cause an out of
> memory condition.
> * Since the transport listener uses auto acknowledge, the messages awaiting
> processing are lost when the server is shut down or crashes.
> * The whole purpose of a message oriented middleware is to provide the
> necessary infrastructure to reliably queue messages between producers and
> consumers. Adding an additional (unreliable) in-memory queue in front of the
> consumer violates this pattern.
> The JMS transport should therefore only accept messages when it is ready to
> start processing them immediately.
--
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]