[
https://issues.apache.org/jira/browse/FELIX-314?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12508831
]
Richard S. Hall commented on FELIX-314:
---------------------------------------
I introduced that bug by apparently not thinking enough about what I was trying
to do.
The reason for all of the statics was not accidental, the goal was to
essentially require only one EventDispatcher (and thus one dispatcher thread)
for all Felix instances inside of a given JVM (loaded by a specific class
loader). The goal here was to reduce overhead.
I guess the debate here is whether or not it is worth it, but I would prefer
such attempts to minimize thread usage. In truth, we probably should look at
other places where threads are created to see if similar thread sharing can be
achieved.
> EventDispatcher class not reusable in same class loader for multiple Felix
> instances
> ------------------------------------------------------------------------------------
>
> Key: FELIX-314
> URL: https://issues.apache.org/jira/browse/FELIX-314
> Project: Felix
> Issue Type: Bug
> Components: Framework
> Affects Versions: 0.8.0
> Reporter: Felix Meschberger
> Fix For: 1.0.0
>
> Attachments: FELIX-314.diff
>
>
> Consider this use case:
> Felix felix = new Felix();
> felix.start(props, null);
> felix.shutdown();
> felix = new Felix();
> felix.start(props, null);
> felix.shutdown();
> The first Felix instance will stop the EventDispatcher by calling the static
> EventDispatcher.shutdown() method thus stopping the event dispatcher thread
> and setting the static variables stopping and stopped to true. The reference
> to the event dispatcher thread in the static variable m_thread is not cleared
> on shutdown.
> The second Felix instance will create an EventDispatcher instance but the
> static fields are not reset. That is the event dispatcher is assumed to be
> stopped and the event dispatcher thread will not be newly created and started.
> I will suggest a patch for this issue.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.