[ 
https://issues.apache.org/jira/browse/DOSGI-129?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Christian Schneider resolved DOSGI-129.
---------------------------------------

    Resolution: Fixed

DOSGI-129 Fixing NPE, better handling of exceptions
M 
/cxf/dosgi/trunk/dsw/cxf-topology-manager/src/main/java/org/apache/cxf/dosgi/topologymanager/TopologyManager.java
M 
/cxf/dosgi/trunk/dsw/cxf-topology-manager/src/main/java/org/apache/cxf/dosgi/topologymanager/Utils.java
M 
/cxf/dosgi/trunk/dsw/cxf-topology-manager/src/test/java/org/apache/cxf/dosgi/topologymanager/TopologyManagerTest.java
M 
/cxf/dosgi/trunk/dsw/cxf-topology-manager/src/test/java/org/apache/cxf/dosgi/topologymanager/UtilsTest.java
 
                
> NPE when stopping a bundle that exports a DOSGI service
> -------------------------------------------------------
>
>                 Key: DOSGI-129
>                 URL: https://issues.apache.org/jira/browse/DOSGI-129
>             Project: CXF Distributed OSGi
>          Issue Type: Bug
>    Affects Versions: 1.3.1
>            Reporter: Christian Schneider
>            Assignee: Christian Schneider
>             Fix For: 1.4
>
>
> The following exception appears on the console (not log) when stopping a 
> bundle that exports a DOSGI service.
> ---
> karaf@root> stop 165
> ERROR: Bundle cxf-dosgi-ri-topology-manager [159] EventDispatcher: Error 
> during dispatch. (java.lang.NullPointerException)
> java.lang.NullPointerException
>       at 
> org.apache.cxf.dosgi.topologymanager.TopologyManager.notifyListenersOfRemovalIfAppropriate(TopologyManager.java:372)
>       at 
> org.apache.cxf.dosgi.topologymanager.TopologyManager.notifyListenersOfRemovalIfAppropriate(TopologyManager.java:217)
>       at 
> org.apache.cxf.dosgi.topologymanager.TopologyManager.removeService(TopologyManager.java:201)
>       at 
> org.apache.cxf.dosgi.topologymanager.ServiceListenerImpl.serviceChanged(ServiceListenerImpl.java:68)
>       at 
> org.apache.felix.framework.util.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:871)
>       at 
> org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:733)
>       at 
> org.apache.felix.framework.util.EventDispatcher.fireServiceEvent(EventDispatcher.java:662)
>       at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:3890)
>       at org.apache.felix.framework.Felix.access$000(Felix.java:79)
>       at org.apache.felix.framework.Felix$2.serviceChanged(Felix.java:728)
>       at 
> org.apache.felix.framework.ServiceRegistry.unregisterService(ServiceRegistry.java:135)
>       at 
> org.apache.felix.framework.ServiceRegistrationImpl.unregister(ServiceRegistrationImpl.java:129)
>       at 
> org.apache.aries.blueprint.container.ServiceRecipe.unregister(ServiceRecipe.java:201)
>       at 
> org.apache.aries.blueprint.container.BlueprintContainerImpl.unregisterServices(BlueprintContainerImpl.java:664)
>       at 
> org.apache.aries.blueprint.container.BlueprintContainerImpl.destroy(BlueprintContainerImpl.java:813)
>       at 
> org.apache.aries.blueprint.container.BlueprintExtender.destroyContext(BlueprintExtender.java:250)
>       at 
> org.apache.aries.blueprint.container.BlueprintExtender.bundleChanged(BlueprintExtender.java:242)
>       at 
> org.apache.aries.blueprint.container.BlueprintExtender$BlueprintBundleTrackerCustomizer.modifiedBundle(BlueprintExtender.java:438)
>       at 
> org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:453)
>       at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:237)
>       at 
> org.osgi.util.tracker.BundleTracker$Tracked.bundleChanged(BundleTracker.java:413)
>       at 
> org.apache.felix.framework.util.EventDispatcher.invokeBundleListenerCallback(EventDispatcher.java:807)
>       at 
> org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:729)
>       at 
> org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:610)
>       at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:3879)
>       at org.apache.felix.framework.Felix.stopBundle(Felix.java:2268)
>       at org.apache.felix.framework.BundleImpl.stop(BundleImpl.java:963)
>       at org.apache.felix.framework.BundleImpl.stop(BundleImpl.java:950)
>       at org.apache.karaf.shell.osgi.StopBundle.doExecute(StopBundle.java:34)
>       at 
> org.apache.karaf.shell.osgi.BundlesCommand.doExecute(BundlesCommand.java:37)
>       at 
> org.apache.karaf.shell.console.OsgiCommandSupport.execute(OsgiCommandSupport.java:38)
>       at 
> org.apache.felix.gogo.commands.basic.AbstractCommand.execute(AbstractCommand.java:35)
>       at 
> org.apache.felix.gogo.runtime.CommandProxy.execute(CommandProxy.java:78)
>       at org.apache.felix.gogo.runtime.Closure.executeCmd(Closure.java:474)
>       at 
> org.apache.felix.gogo.runtime.Closure.executeStatement(Closure.java:400)
>       at org.apache.felix.gogo.runtime.Pipe.run(Pipe.java:108)
>       at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:183)
>       at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:120)
>       at 
> org.apache.felix.gogo.runtime.CommandSessionImpl.execute(CommandSessionImpl.java:89)
>       at org.apache.karaf.shell.console.jline.Console.run(Console.java:172)
>       at java.lang.Thread.run(Thread.java:679)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to