On Mon, Feb 21, 2011 at 13:51, Alasdair Nottingham <[email protected]> wrote: > On 21 February 2011 12:46, Guillaume Nodet <[email protected]> wrote: >> On Mon, Feb 21, 2011 at 13:42, Alasdair Nottingham <[email protected]> wrote: >>> On 21 February 2011 12:19, Guillaume Nodet <[email protected]> wrote: >>>> On Mon, Feb 21, 2011 at 12:28, Alasdair Nottingham <[email protected]> wrote: >>>>> So assume we released util as a 1.0 bundle, why would that prevent >>>>> blueprint 0.4 >>>>> using it? I don't think I've seen anything that says you have to bump >>>>> your major >>>>> version based on the dependency doing so. That seems like a crazy idea. >>>>> You >>>>> should only bump your major version if you have to. >>>> >>>> Ok, so let's think about that a bit more. I think the case is a bit >>>> different if the package is exported or not. >>>> If the package is exported, the dependent package will be imported and >>>> end up in uses constraints, so if you change the import range to be >>>> incompatible, you actually have a major incompatibility I think. If I >>>> have a bundle that depend on both packages, my bundle would clearly >>>> become unusable with the new version, which means it's a major change >>>> on the package actually. >>>> If the package isn't exported, the change would at least require other >>>> updates in bundles, so while the packages would still be fully >>>> compatible, the bundle version should be incremented from at least a >>>> minor version imho. >>>> Here, I'm not sure that any package depending on aries-util is >>>> actually exported, but we'd have to check. >>>> >>> >>> I do not think this is how uses should be interpreted. uses is designed to >>> solve >>> the problem whereby a package A returns, or receives types from package B >>> and >>> you want to ensure the bundle and its clients have a consistent view >>> of A and B. It >>> is not there to ensure that bundle A and bundle B share the same copy >>> of a package >>> A when package A is strictly part of the internals. As a result the >>> scenario you describe >>> would never happen. >> >> That's what I said about > > I'm sorry I don't understand this sentence fragment. > >> >>> >>>>> I would also say that until we have had a vote about exactly what we are >>>>> doing >>>>> regarding releasing and versioning this kind of activity is a little >>>>> premature. >>>> >>>> Well, I'm raising things that we need to keep in mind when we vote for >>>> the policy we'll use. We were supposed to use a release cycle at the >>>> component level, so I'm actually trying to release blueprint without >>>> having to release everything, that's all. If/when we move that at the >>>> bundle level, things will be even more complicated. >>>> >>> >>> I am not saying that raising the issue is premature, I am saying that >>> creating a >>> branch is premature. >> >> So are you suggesting I release aries-util 0.4 with such a major >> incompatiblity (meaning I may break all other aries components) in >> order to be able to release blueprint 0.4 ? >> > > Please see the comment I made in the other thread where you first brought up > a release of blueprint 0.4.
I suppose you're referring to the discussion about the "next" version ? So I I follow you what you said, I want to release blueprint, but given there is an incompatibility, I should call it 1.0 ? That's certainly not my goal to release a new major version, so isn't my only choice here to create a branch for 0.4 ? > >>> >>>>> Alasdair >>>>> >>>>> On 21 February 2011 11:21, Guillaume Nodet <[email protected]> wrote: >>>>>> Sorry for not being more clear, I was referring to the following change: >>>>>> >>>>>>> Removed: >>>>>>> >>>>>>> aries/trunk/util/src/main/java/org/apache/aries/util/SingleServiceTracker.java >>>>>> >>>>>> One class has been deleted from a package, so that's a major >>>>>> incompabible change which needs aries-util version to be bumped to 1.0 >>>>>> according to semantic versioning rules. What I'm not sure is how it >>>>>> affect other projects, for example blueprint trunk would need to >>>>>> change the aries-util dependency from [0.3,1) to [1,2) and I'm not >>>>>> sure how the blueprint version should reflect that change. >>>>>> >>>>>> I don't really want to include an update to a new major version of a >>>>>> dependency in a minor release of blueprint, so I think we should bump >>>>>> blueprint to 1.0, hence my point of creating a 0.4 branch for >>>>>> blueprint. >>>>>> >>>>>> Hope it's a bit more clear now. >>>>>> >>>>>> On Mon, Feb 21, 2011 at 12:12, Alasdair Nottingham <[email protected]> >>>>>> wrote: >>>>>>> Can you clarify what in this commit you are objecting to? There were >>>>>>> rather a large number of >>>>>>> changes not all of which are included in your email. >>>>>>> >>>>>>> Why would you create a branch for blueprint 0.4? What is the point? >>>>>>> >>>>>>> Alasdair >>>>>>> >>>>>>> On 21 February 2011 10:55, Guillaume Nodet <[email protected]> wrote: >>>>>>>> I come back to this commit as this is a *major* incompatibility change. >>>>>>>> The util package major version need be bumped up. I'm not quite sure >>>>>>>> what kind of changes that impact on downstream bundles (blueprint, >>>>>>>> jndi, jpa, etc...) but I think the cascading effect is that their >>>>>>>> major version need to be bumped too. Can someone please have a look >>>>>>>> at that and fix the problems ? >>>>>>>> >>>>>>>> I'll create a branch for blueprint 0.4.x which can work with other >>>>>>>> components in 0.3 as that's what is implied the version range is >>>>>>>> afaik. >>>>>>>> >>>>>>>> On Fri, Feb 4, 2011 at 19:22, Guillaume Nodet <[email protected]> wrote: >>>>>>>>> While I do not question the validity of such changes, it tends to >>>>>>>>> confirm my impression that we have components that are quite tied >>>>>>>>> together and that we'll never be able to release them independantly >>>>>>>>> (apart from bug fix release which do not matter here). >>>>>>>>> How easy would such things be if we had several trunks, one jira per >>>>>>>>> component, each jira associated to a different version in jira... >>>>>>>>> This also changes the constraints on the packages imported by a >>>>>>>>> component, so you'd have to change some package versions. That's >>>>>>>>> kinda bad as if a user want to update one bundle, he has to actually >>>>>>>>> update a bunch of bundles. if we're going to use a different version >>>>>>>>> for each component, we'd have to keep track of the compatibility >>>>>>>>> somewhere so that this can appear in the release notes. >>>>>>>>> >>>>>>>>> i'll stop to lobby on the release cycle versioning, but I just want to >>>>>>>>> make everyone knows where we're going. >>>>>>>>> >>>>>>>>> I wonder if we'll have to change to a more manual management of the >>>>>>>>> imported packages in the pom, disabling * packages expansions by bnd >>>>>>>>> and also disabling auto computation of version ranges to make sure >>>>>>>>> we're aware of changes >>>>>>>>> >>>>>>>>> On Friday, February 4, 2011, <[email protected]> wrote: >>>>>>>>>> Author: timothyjward >>>>>>>>>> Date: Fri Feb 4 16:13:32 2011 >>>>>>>>>> New Revision: 1067207 >>>>>>>>>> >>>>>>>>>> URL: http://svn.apache.org/viewvc?rev=1067207&view=rev >>>>>>>>>> Log: >>>>>>>>>> ARIES-567 - Add a common utility for safe unregistration >>>>>>>>>> >>>>>>>>>> Added: >>>>>>>>>> >>>>>>>>>> aries/trunk/jpa/jpa-container-context/src/test/java/org/apache/aries/util/ >>>>>>>>>> >>>>>>>>>> aries/trunk/jpa/jpa-container-context/src/test/java/org/apache/aries/util/AriesFrameworkUtil.java >>>>>>>>>> >>>>>>>>>> aries/trunk/jpa/jpa-container/src/test/java/org/apache/aries/util/ >>>>>>>>>> >>>>>>>>>> aries/trunk/jpa/jpa-container/src/test/java/org/apache/aries/util/AriesFrameworkUtil.java >>>>>>>>>> >>>>>>>>>> aries/trunk/util/src/main/java/org/apache/aries/util/tracker/SingleServiceTracker.java >>>>>>>>>> - copied, changed from r1067146, >>>>>>>>>> aries/trunk/util/src/main/java/org/apache/aries/util/SingleServiceTracker.java >>>>>>>>>> Removed: >>>>>>>>>> >>>>>>>>>> aries/trunk/util/src/main/java/org/apache/aries/util/SingleServiceTracker.java >>>>>>>>>> Modified: >>>>>>>>>> aries/trunk/blueprint/blueprint-annotation-impl/pom.xml >>>>>>>>>> >>>>>>>>>> aries/trunk/blueprint/blueprint-annotation-impl/src/main/java/org/apache/aries/blueprint/annotation/impl/Activator.java >>>>>>>>>> >>>>>>>>>> aries/trunk/blueprint/blueprint-cm/src/main/java/org/apache/aries/blueprint/compendium/cm/CmManagedServiceFactory.java >>>>>>>>>> >>>>>>>>>> aries/trunk/blueprint/blueprint-cm/src/main/java/org/apache/aries/blueprint/compendium/cm/ManagedObjectManager.java >>>>>>>>>> >>>>>>>>>> aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container/BlueprintContainerImpl.java >>>>>>>>>> >>>>>>>>>> aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container/BlueprintExtender.java >>>>>>>>>> >>>>>>>>>> aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container/ServiceRecipe.java >>>>>>>>>> aries/trunk/jmx/jmx-blueprint-core/pom.xml >>>>>>>>>> >>>>>>>>>> aries/trunk/jmx/jmx-blueprint-core/src/main/java/org/apache/aries/jmx/blueprint/impl/BlueprintState.java >>>>>>>>>> >>>>>>>>>> aries/trunk/jndi/jndi-rmi/src/main/java/org/apache/aries/jndi/rmi/Activator.java >>>>>>>>>> >>>>>>>>>> aries/trunk/jndi/jndi-url/src/main/java/org/apache/aries/jndi/url/Activator.java >>>>>>>>>> >>>>>>>>>> aries/trunk/jpa/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/impl/GlobalPersistenceManager.java >>>>>>>>>> >>>>>>>>>> aries/trunk/jpa/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/impl/PersistenceContextManager.java >>>>>>>>>> >>>>>>>>>> aries/trunk/jpa/jpa-container/src/main/java/org/apache/aries/jpa/container/impl/CountingEntityManagerFactory.java >>>>>>>>>> >>>>>>>>>> aries/trunk/jpa/jpa-container/src/main/java/org/apache/aries/jpa/container/impl/EntityManagerFactoryManager.java >>>>>>>>>> >>>>>>>>>> aries/trunk/jpa/jpa-container/src/main/java/org/apache/aries/jpa/container/impl/PersistenceBundleManager.java >>>>>>>>>> aries/trunk/quiesce/quiesce-manager/pom.xml >>>>>>>>>> >>>>>>>>>> aries/trunk/quiesce/quiesce-manager/src/main/java/org/apache/aries/quiesce/manager/impl/Activator.java >>>>>>>>>> aries/trunk/transaction/pom.xml >>>>>>>>>> aries/trunk/transaction/transaction-manager/pom.xml >>>>>>>>>> >>>>>>>>>> aries/trunk/transaction/transaction-manager/src/main/java/org/apache/aries/transaction/TransactionManagerService.java >>>>>>>>>> aries/trunk/transaction/transaction-wrappers/pom.xml >>>>>>>>>> >>>>>>>>>> aries/trunk/transaction/transaction-wrappers/src/main/java/org/apache/aries/transaction/jdbc/Activator.java >>>>>>>>>> >>>>>>>>>> aries/trunk/util/src/main/java/org/apache/aries/util/AriesFrameworkUtil.java >>>>>>>>>> >>>>>>>>>> aries/trunk/util/src/test/java/org/apache/aries/util/SingleServiceTrackerTest.java >>>>>>>>>> >>>>>>>>>> Modified: aries/trunk/blueprint/blueprint-annotation-impl/pom.xml >>>>>>>>>> URL: >>>>>>>>>> http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-annotation-impl/pom.xml?rev=1067207&r1=1067206&r2=1067207&view=diff >>>>>>>>>> ============================================================================== >>>>>>>>>> --- aries/trunk/blueprint/blueprint-annotation-impl/pom.xml >>>>>>>>>> (original) >>>>>>>>>> +++ aries/trunk/blueprint/blueprint-annotation-impl/pom.xml Fri Feb >>>>>>>>>> 4 16:13:32 2011 >>>>>>>>>> @@ -57,6 +57,10 @@ >>>>>>>>>> >>>>>>>>>> <artifactId>org.apache.aries.blueprint.annotation.api</artifactId> >>>>>>>>>> </dependency> >>>>>>>>>> <dependency> >>>>>>>>>> + <groupId>org.apache.aries</groupId> >>>>>>>>>> + <artifactId>org.apache.aries.util</artifactId> >>>>>>>>>> + </dependency> >>>>>>>>>> + <dependency> >>>>>>>>>> <groupId>org.osgi</groupId> >>>>>>>>>> <artifactId>org.osgi.core</artifactId> >>>>>>>>>> <scope>provided</scope> >>>>>>>>>> >>>>>>>>>> Modified: >>>>>>>>>> aries/trunk/blueprint/blueprint-annotation-impl/src/main/java/org/apache/aries/blueprint/annotation/impl/Activator.java >>>>>>>>>> URL: >>>>>>>>>> http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-annotation-impl/src/main/java/org/apache/aries/blueprint/annotation/impl/Activator.java?rev=1067207&r1=1067206&r2=1067207&view=diff >>>>>>>>>> ============================================================================== >>>>>>>>>> --- >>>>>>>>>> aries/trunk/blueprint/blueprint-annotation-impl/src/main/java/org/apache/aries/blueprint/annotation/impl/Activator.java >>>>>>>>>> (original) >>>>>>>>>> +++ >>>>>>>>>> aries/trunk/blueprint/blueprint-annotation-impl/src/main/java/org/apache/aries/blueprint/annotation/impl/Activator.java >>>>>>>>>> Fri Feb 4 16:13:32 2011 >>>>>>>>>> @@ -19,11 +19,12 @@ package org.apache.aries.blueprint.annot >>>>>>>>>> import java.util.Dictionary; >>>>>>>>>> import java.util.Hashtable; >>>>>>>>>> >>>>>>>>>> +import >>>>>>>>>> org.apache.aries.blueprint.annotation.service.BlueprintAnnotationScanner; >>>>>>>>>> +import org.apache.aries.util.AriesFrameworkUtil; >>>>>>>>>> import org.osgi.framework.BundleActivator; >>>>>>>>>> import org.osgi.framework.BundleContext; >>>>>>>>>> import org.osgi.framework.Constants; >>>>>>>>>> import org.osgi.framework.ServiceRegistration; >>>>>>>>>> -import >>>>>>>>>> org.apache.aries.blueprint.annotation.service.BlueprintAnnotationScanner; >>>>>>>>>> >>>>>>>>>> public class Activator implements BundleActivator { >>>>>>>>>> >>>>>>>>>> @@ -36,9 +37,7 @@ public class Activator implements Bundle >>>>>>>>>> } >>>>>>>>>> >>>>>>>>>> public void stop(BundleContext context) { >>>>>>>>>> - if (sr != null) { >>>>>>>>>> - sr.unregister(); >>>>>>>>>> - } >>>>>>>>>> + AriesFrameworkUtil.safeUnregisterService(sr); >>>>>>>>>> } >>>>>>>>>> >>>>>>>>>> } >>>>>>>>>> >>>>>>>>>> Modified: >>>>>>>>>> aries/trunk/blueprint/blueprint-cm/src/main/java/org/apache/aries/blueprint/compendium/cm/CmManagedServiceFactory.java >>>>>>>>>> URL: >>>>>>>>>> http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-cm/src/main/java/org/apache/aries/blueprint/compendium/cm/CmManagedServiceFactory.java?rev=1067207&r1=1067206&r2=1067207&view=diff >>>>>>>>>> ============================================================================== >>>>>>>>>> --- >>>>>>>>>> aries/trunk/blueprint/blueprint-cm/src/main/java/org/apache/aries/blueprint/compendium/cm/CmManagedServiceFactory.java >>>>>>>>>> (original) >>>>>>>>>> +++ >>>>>>>>>> aries/trunk/blueprint/blueprint-cm/src/main/java/org/apache/aries/blueprint/compendium/cm/CmManagedServiceFactory.java >>>>>>>>>> Fri Feb 4 16:13:32 2011 >>>>>>>>>> @@ -35,6 +35,7 @@ import org.apache.aries.blueprint.Servic >>>>>>>>>> import org.apache.aries.blueprint.container.ServiceListener; >>>>>>>>>> import org.apache.aries.blueprint.utils.JavaUtils; >>>>>>>>>> import org.apache.aries.blueprint.utils.ReflectionUtils; >>>>>>>>>> +import org.apache.aries.util.AriesFrameworkUtil; >>>>>>>>>> import org.osgi.framework.Bundle; >>>>>>>>>> import org.osgi.framework.Constants; >>>>>>>>>> import org.osgi.framework.ServiceReference; >>>>>>>>>> @@ -100,9 +101,7 @@ public class CmManagedServiceFactory { >>>>>>>>>> } >>>>>>>>>> >>>>>>>>>> public void destroy() { >>>>>>>>>> - if (registration != null) { >>>>>>>>>> - registration.unregister(); >>>>>>>>>> - } >>>>>>>>>> + AriesFrameworkUtil.safeUnregisterService(registration); >>>>>>>>>> for (Map.Entry<ServiceRegistration, Object> entry : >>>>>>>>>> services.entrySet()) { >>>>>>>>>> destroy(entry.getValue(), entry.getKey(), >>>>>>>>>> BUNDLE_STOPPING); >>>>>>>>>> } >>>>>>>>>> @@ -119,7 +118,7 @@ public class CmManagedServiceFactory { >>>>>>>>>> } >>>>>>>>>> } >>>>>>>>>> destroyComponent(component, code); >>>>>>>>>> - registration.unregister(); >>>>>>>>>> + AriesFrameworkUtil.safeUnregisterService(registration); >>>>>>>>>> } >>>>>>>>>> >>>>>>>>>> public Map<ServiceRegistration, Object> getServiceMap() { >>>>>>>>>> >>>>>>>>>> Modified: >>>>>>>>>> aries/trunk/blueprint/blueprint-cm/src/main/java/org/apache/aries/blueprint/compendium/cm/ManagedObjectManager.java >>>>>>>>>> URL: >>>>>>>>>> http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-cm/src/main/java/org/apache/aries/blueprint/compendium/cm/ManagedObjectManager.java?rev=1067207&r1=1067206&r2=1067207&view=diff >>>>>>>>>> ============================================================================== >>>>>>>>>> --- >>>>>>>>>> aries/trunk/blueprint/blueprint-cm/src/main/java/org/apache/aries/blueprint/compendium/cm/ManagedObjectManager.java >>>>>>>>>> (original) >>>>>>>>>> +++ >>>>>>>>>> aries/trunk/blueprint/blueprint-cm/src/main/java/org/apache/aries/blueprint/compendium/cm/ManagedObjectManager.java >>>>>>>>>> Fri Feb 4 16:13:32 2011 >>>>>>>>>> @@ -25,6 +25,7 @@ import java.util.HashMap; >>>>>>>>>> import java.util.List; >>>>>>>>>> import java.util.Properties; >>>>>>>>>> >>>>>>>>>> +import org.apache.aries.util.AriesFrameworkUtil; >>>>>>>>>> import org.osgi.framework.ServiceRegistration; >>>>>>>>>> import org.osgi.service.cm.ConfigurationException; >>>>>>>>>> import org.osgi.service.cm.ManagedService; >>>>>>>>>> @@ -60,7 +61,7 @@ public class ManagedObjectManager { >>>>>>>>>> reg.remove(cm); >>>>>>>>>> if (reg.isEmpty()) { >>>>>>>>>> map.remove(key); >>>>>>>>>> - reg.getRegistration().unregister(); >>>>>>>>>> + >>>>>>>>>> AriesFrameworkUtil.safeUnregisterService(reg.getRegistration()); >>>>>>>>>> } >>>>>>>>>> } >>>>>>>>>> } >>>>>>>>>> >>>>>>>>>> Modified: >>>>>>>>>> aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container/BlueprintContainerImpl.java >>>>>>>>>> URL: >>>>>>>>>> http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container/BlueprintContainerImpl.java?rev=1067207&r1=1067206&r2=1067207&view=diff >>>>>>>>>> ============================================================================== >>>>>>>>>> --- >>>>>>>>>> aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container/BlueprintContainerImpl.java >>>>>>>>>> (original) >>>>>>>>>> +++ >>>>>>>>>> aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container/BlueprintContainerImpl.java >>>>>>>>>> Fri Feb 4 16:13:32 2011 >>>>>>>>>> @@ -62,6 +62,7 @@ import org.apache.aries.blueprint.reflec >>>>>>>>>> import org.apache.aries.blueprint.utils.HeaderParser; >>>>>>>>>> import org.apache.aries.blueprint.utils.JavaUtils; >>>>>>>>>> import org.apache.aries.blueprint.utils.HeaderParser.PathElement; >>>>>>>>>> +import org.apache.aries.util.AriesFrameworkUtil; >>>>>>>>>> import org.osgi.framework.Bundle; >>>>>>>>>> import org.osgi.framework.BundleContext; >>>>>>>>>> import org.osgi.framework.Constants; >>>>>>>>>> @@ -812,9 +813,7 @@ public class BlueprintContainerImpl impl >>>>>>>>>> if (timeoutFuture != null) { >>>>>>>>>> timeoutFuture.cancel(false); >>>>>>>>>> } >>>>>>>>>> - if (registration != null) { >>>>>>>>>> - registration.unregister(); >>>>>>>>>> - } >>>>>>>>>> + AriesFrameworkUtil.safeUnregisterService(registration); >>>>>>>>>> if (handlerSet != null) { >>>>>>>>>> handlerSet.removeListener(this); >>>>>>>>>> handlerSet.destroy(); >>>>>>>>>> @@ -845,9 +844,7 @@ public class BlueprintContainerImpl impl >>>>>>>>>> if (timeoutFuture != null) { >>>>>>>>>> timeoutFuture.cancel(false); >>>>>>>>>> } >>>>>>>>>> - if (registration != null) { >>>>>>>>>> - registration.unregister(); >>>>>>>>>> - } >>>>>>>>>> + AriesFrameworkUtil.safeUnregisterService(registration); >>>>>>>>>> if (handlerSet != null) { >>>>>>>>>> handlerSet.removeListener(this); >>>>>>>>>> handlerSet.destroy(); >>>>>>>>>> >>>>>>>>>> Modified: >>>>>>>>>> aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container/BlueprintExtender.java >>>>>>>>>> URL: >>>>>>>>>> http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container/BlueprintExtender.java?rev=1067207&r1=1067206&r2=1067207&view=diff >>>>>>>>>> ============================================================================== >>>>>>>>>> --- >>>>>>>>>> aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container/BlueprintExtender.java >>>>>>>>>> (original) >>>>>>>>>> +++ >>>>>>>>>> aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container/BlueprintExtender.java >>>>>>>>>> Fri Feb 4 16:13:32 2011 >>>>>>>>>> @@ -39,9 +39,10 @@ import org.apache.aries.blueprint.namesp >>>>>>>>>> import org.apache.aries.blueprint.utils.HeaderParser; >>>>>>>>>> import org.apache.aries.blueprint.utils.HeaderParser.PathElement; >>>>>>>>>> import org.apache.aries.proxy.ProxyManager; >>>>>>>>>> -import org.apache.aries.util.SingleServiceTracker; >>>>>>>>>> -import >>>>>>>>>> org.apache.aries.util.SingleServiceTracker.SingleServiceListener; >>>>>>>>>> +import org.apache.aries.util.AriesFrameworkUtil; >>>>>>>>>> import org.apache.aries.util.tracker.RecursiveBundleTracker; >>>>>>>>>> +import org.apache.aries.util.tracker.SingleServiceTracker; >>>>>>>>>> +import >>>>>>>>>> org.apache.aries.util.tracker.SingleServiceTracker.SingleServiceListener; >>>>>>>>>> import org.osgi.framework.Bundle; >>>>>>>>>> import org.osgi.framework.BundleActivator; >>>>>>>>>> import org.osgi.framework.BundleContext; >>>>>>>>>> @@ -154,10 +155,9 @@ public class BlueprintExtender implement >>>>>>>>>> bt.close(); >>>>>>>>>> } >>>>>>>>>> >>>>>>>>>> - parserServiceReg.unregister(); >>>>>>>>>> - >>>>>>>>>> - if (quiesceParticipantReg != null) >>>>>>>>>> - quiesceParticipantReg.unregister(); >>>>>>>>>> + AriesFrameworkUtil.safeUnregisterService(parserServiceReg); >>>>>>>>>> + >>>>>>>>>> + >>>>>>>>>> AriesFrameworkUtil.safeUnregisterService(quiesceParticipantReg); >>>>>>>>>> >>>>>>>>>> // Orderly shutdown of containers >>>>>>>>>> while (!containers.isEmpty()) { >>>>>>>>>> >>>>>>>>>> Modified: >>>>>>>>>> aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container/ServiceRecipe.java >>>>>>>>>> URL: >>>>>>>>>> http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container/ServiceRecipe.java?rev=1067207&r1=1067206&r2=1067207&view=diff >>>>>>>>>> ============================================================================== >>>>>>>>>> --- >>>>>>>>>> aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container/ServiceRecipe.java >>>>>>>>>> (original) >>>>>>>>>> +++ >>>>>>>>>> aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container/ServiceRecipe.java >>>>>>>>>> Fri Feb 4 16:13:32 2011 >>>>>>>>>> @@ -44,6 +44,7 @@ import org.apache.aries.blueprint.proxy. >>>>>>>>>> import org. >>>>>>>>> >>>>>>>>> -- >>>>>>>>> Cheers, >>>>>>>>> Guillaume Nodet >>>>>>>>> ------------------------ >>>>>>>>> Blog: http://gnodet.blogspot.com/ >>>>>>>>> ------------------------ >>>>>>>>> Open Source SOA >>>>>>>>> http://fusesource.com >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> Cheers, >>>>>>>> Guillaume Nodet >>>>>>>> ------------------------ >>>>>>>> Blog: http://gnodet.blogspot.com/ >>>>>>>> ------------------------ >>>>>>>> Open Source SOA >>>>>>>> http://fusesource.com >>>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> Alasdair Nottingham >>>>>>> [email protected] >>>>>>> >>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Cheers, >>>>>> Guillaume Nodet >>>>>> ------------------------ >>>>>> Blog: http://gnodet.blogspot.com/ >>>>>> ------------------------ >>>>>> Open Source SOA >>>>>> http://fusesource.com >>>>>> >>>>> >>>>> >>>>> >>>>> -- >>>>> Alasdair Nottingham >>>>> [email protected] >>>>> >>>> >>>> >>>> >>>> -- >>>> Cheers, >>>> Guillaume Nodet >>>> ------------------------ >>>> Blog: http://gnodet.blogspot.com/ >>>> ------------------------ >>>> Open Source SOA >>>> http://fusesource.com >>>> >>> >>> >>> >>> -- >>> Alasdair Nottingham >>> [email protected] >>> >> >> >> >> -- >> Cheers, >> Guillaume Nodet >> ------------------------ >> Blog: http://gnodet.blogspot.com/ >> ------------------------ >> Open Source SOA >> http://fusesource.com >> > > > > -- > Alasdair Nottingham > [email protected] > -- Cheers, Guillaume Nodet ------------------------ Blog: http://gnodet.blogspot.com/ ------------------------ Open Source SOA http://fusesource.com
