cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Marc Schaaf (JIRA)" <j...@apache.org>
Subject [jira] Commented: (CXF-2156) dOSGi startup blocks in some cases when other bundles already wait for remote services
Date Mon, 24 Aug 2009 11:54:59 GMT

    [ https://issues.apache.org/jira/browse/CXF-2156?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12746825#action_12746825
] 

Marc Schaaf commented on CXF-2156:
----------------------------------

Hi Paul,

based on your description this might be the same issue. However this requires that the services
you are calling from within the ServiceTracker are not reachable or that they are very slow.
Additionally the tracker needs to be registered before the dOSGi bundle is started.

Regards,
Marc


> dOSGi startup blocks in some cases when other bundles already wait for remote services
> --------------------------------------------------------------------------------------
>
>                 Key: CXF-2156
>                 URL: https://issues.apache.org/jira/browse/CXF-2156
>             Project: CXF
>          Issue Type: Bug
>          Components: Distributed-OSGi
>            Reporter: Marc Schaaf
>            Priority: Minor
>         Attachments: Activator_ListenerHook_Bug.patch
>
>
> When the distributed OSGi bundle is deployed in an OSGi container where already one or
more bundles are waiting for remote services, the start-up blocks until the remote calls of
the other bundles are finished if the other bundles does these calls inside the callback method
of the ServiceTracker. 
> This happens because the registration of the service hook by the distributed OSGi bundle
blocks in the mentioned case. 
> It looks like the hook is instantly informed about already existing service listeners.
The hook than registers the the proxy services which causes the execution of the service listeners
of the other bundles. The other bundles than make their remote calls from within the addingService
method of the ServiceTracker. All of this seems to happen in the start-up Thread which causes
the start-up of the distributed OSGi bundle to block until the remote calls are finished.

> Placing the registration of the hook in a different thread seems to solve the issue.


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message