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
