On 4 February 2011 18: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.
>

This doesn't really worry me. The whole point of the util bundle, in
my view, is that it holds
utilities we use from a lot of places. It is true that if we add
something to util that is used from
multiple we have to release util when we release the downstream
module, but we don't end up tying
transaction, blueprint, jpa together. Just transaction and util, or
blueprint and util. Also once util is
others are not affected. As long as we do semantic versioning adding
something to util wont break
other already released modules either.

> i'll stop to lobby on the release cycle versioning, but I just want to
> make everyone knows where we're going.

I guess I may have missed something, but what is release cycle versioning?

>
> 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

I hope not. I would much rather we didn't put export versions in the
pom either. I'd prefer to use the
packageinfo files bnd supports. This of course depends on a fix to
FELIX-2819 although I see a work
around I might play around with now.

>
> 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
>



-- 
Alasdair Nottingham
[email protected]

Reply via email to