[ https://issues.apache.org/jira/browse/SYNAPSE-434?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12685418#action_12685418 ]
Asankha C. Perera commented on SYNAPSE-434: ------------------------------------------- The reason I did this was to actually prevent concurrent processing by Mail, VFS etc., where we do not want to say process the same file/email by two threads concurrently.. Do you have a proposed solution to prevent that? > 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 is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@synapse.apache.org For additional commands, e-mail: dev-h...@synapse.apache.org