[ https://issues.apache.org/jira/browse/FELIX-1913?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12785247#action_12785247 ]
Carsten Ziegeler commented on FELIX-1913: ----------------------------------------- I'Ve attached a prototype for an improvement - it is clearly not the final solution. I've changed the thread pool to work with plain Runnable's and then just changed the execute method of the sync handler: the event handlers are processed one after the other. If no timeout is set, the handlers are called directly If a timeout is set, the handlers are called by a thread from the thread pool and blacklisting is also handled. This allows to process events in parallel when they come from different threads. I did some basic tests and it seems to work (incl. blacklisting etc.) > All synchronous events are processed in one queue > ------------------------------------------------- > > Key: FELIX-1913 > URL: https://issues.apache.org/jira/browse/FELIX-1913 > Project: Felix > Issue Type: Improvement > Components: Event Admin > Affects Versions: eventadmin 1.0.0 > Reporter: Carsten Ziegeler > Assignee: Karl Pauls > Priority: Minor > Attachments: ea.patch > > > The current event admin implementation puts all events into one single queue > and processes this queue is in one thread. This creates a bottleneck when > different threads send events as they have to wait for other threads to be > processed first. Events from different threads can be processed in parallel. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.