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]
