[
https://issues.apache.org/jira/browse/SYNAPSE-434?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13849012#comment-13849012
]
Andreas Veithen commented on SYNAPSE-434:
-----------------------------------------
Yes, I think that this is resolved.
> Concurrency level provided by the mail and VFS transports listeners is
> insufficient
> -----------------------------------------------------------------------------------
>
> Key: SYNAPSE-434
> URL: https://issues.apache.org/jira/browse/SYNAPSE-434
> Project: Synapse
> Issue Type: Bug
> Components: Transports
> Affects Versions: 1.2
> Reporter: Andreas Veithen
> Assignee: Andreas Veithen
> Priority: Minor
>
> Scenario:
> * Two services are configured to use the (mail or VFS) transport.
> * Two messages are sent two each of these services.
> In this case, one would expect that the transport listener will be able to
> process at least 2 (better 4) messages concurrently. However the listener
> currently only processes one message at a time, i.e. the listener behaves as
> if it was single-threaded.
> There are two reasons for this:
> 1. AbstractPollingTransportListener contains the following code:
> workerPool.execute(new Runnable() {
> public void run() {
> synchronized (pollLock) {
> pollInProgress = true;
> try {
> onPoll();
> } finally {
> pollInProgress = false;
> }
> }
> }
> });
> Since pollLock is a member of AbstractPollingTransportListener, there can
> only be one poll in progress at a time, even if several services are
> configured to use the transport (in which case nothing would prevent the
> transport from executing the polls for the different services in parallel).
> 2. Both MailTransportListener and VFSTransportListener process incoming
> messages sequentially. Here again, the transport could process several
> messages in parallel during the execution of the onPoll method.
--
This message was sent by Atlassian JIRA
(v6.1.4#6159)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]