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

Reply via email to