[
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.