[
https://issues.apache.org/jira/browse/ARIES-1365?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14710774#comment-14710774
]
Joel Richard commented on ARIES-1365:
-------------------------------------
[~bosschaert], I have had a look at jmx-core-whiteboard, but have troubles
understanding how this works. First of all, I was surprised that another bundle
has access to the ServiceState/BundleState class even though they are not
exported. Then I figured out that jmx-core is embedded in the whiteboard jar
file. Why is this the case and where is it declared?
Anyway, I can easily make it compile again by adding {code}stateConfig =
StateConfig.register(context);{code} (I will update the patch in a minute), but
something with this bundle feels really weird to me (especially since we have
installed both bundles in our environment).
> ServiceState attribute notifications slow down startup/shutdown time
> considerably
> ---------------------------------------------------------------------------------
>
> Key: ARIES-1365
> URL: https://issues.apache.org/jira/browse/ARIES-1365
> Project: Aries
> Issue Type: Bug
> Components: JMX
> Affects Versions: jmx-core-1.1.3
> Environment: org.apache.felix.framework 5.0.1
> Reporter: Joel Richard
> Assignee: David Bosschaert
> Labels: performance, shutdown, startup
> Attachments:
> 0001-ARIES-1365-ServiceState-attribute-notifications-slow.patch,
> 0001-ARIES-1365-ServiceState-attribute-notifications-slow_0.2.patch
>
>
> Around 20% of the startup time of our Felix OSGI container is spent creating
> attribute notifications for changed services in
> ServiceState#getAttributeChangeNotification. This is so slow because for each
> notification it calls bundleContext.getAllServiceReferences to get all
> service ids.
> Here a few suggestions how this could be improved:
> - The ServiceState could maintain its own list of service ids which is
> updated according to the service events
> - The ServiceState could implement the NotificationEmitter directly and be
> aware when there are any listeners (in our case, there are mostly none).
> - Make it possible to disable the attribute change notifications with
> configuration property.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)