[ https://issues.apache.org/jira/browse/DOSGI-171?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Christian Schneider resolved DOSGI-171. --------------------------------------- Resolution: Fixed Assignee: Christian Schneider Fix Version/s: 2.0.0 I just checked the current code and did not find any missing ungetService anymore. I did not check all of Aries RSA though so. If you find any occurence there please open a ticket at Aries. > service objects are never released (using ungetService) > ------------------------------------------------------- > > Key: DOSGI-171 > URL: https://issues.apache.org/jira/browse/DOSGI-171 > Project: CXF Distributed OSGi > Issue Type: Bug > Affects Versions: 1.4.0, 1.5.0 > Reporter: Amichai Rothman > Assignee: Christian Schneider > Fix For: 2.0.0 > > > The BundleContext.getService() spec/API states that for every time this > method returns a service object, it must later be released using > BundleContext.ungetService(). Further, after ungetService is called, all > references to the service object should be removed (set to null) so that it > can be properly released. > Currently, there are many usages of getService in the code, but none of them > release the reference as required. > The recommendation seems to be to use service trackers where possible instead > of directly accessing the getService/ungetService APIs, since the > ServiceTracker was created for this exact purpose - to properly handle all > the bookkeeping for service references. Alternatively, in places in which a > ServiceTracker is not appropriate and the services are used locally, the > getService call should be followed by a try-finally block which always ungets > the service when done as is standard practice with resource management. > Finally, in places in which the service access is not contained in a local > method, and is stored in a field or passed around, proper resource release > should be performed (ungetService called and references nulled afterwards) in > an appropriate way for those cases (when closing or releasing the containing > class instance, etc.) -- This message was sent by Atlassian JIRA (v6.3.4#6332)