You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by rm...@apache.org on 2011/12/22 16:37:23 UTC
svn commit: r1222283 -
/openejb/trunk/openejb/container/openejb-osgi/src/main/java/org/apache/openejb/core/osgi/impl/Deployer.java
Author: rmannibucau
Date: Thu Dec 22 15:37:23 2011
New Revision: 1222283
URL: http://svn.apache.org/viewvc?rev=1222283&view=rev
Log:
simply logging NPE when bundleevent.updated is sent and the OSGi container is shutting down
Modified:
openejb/trunk/openejb/container/openejb-osgi/src/main/java/org/apache/openejb/core/osgi/impl/Deployer.java
Modified: openejb/trunk/openejb/container/openejb-osgi/src/main/java/org/apache/openejb/core/osgi/impl/Deployer.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-osgi/src/main/java/org/apache/openejb/core/osgi/impl/Deployer.java?rev=1222283&r1=1222282&r2=1222283&view=diff
==============================================================================
--- openejb/trunk/openejb/container/openejb-osgi/src/main/java/org/apache/openejb/core/osgi/impl/Deployer.java (original)
+++ openejb/trunk/openejb/container/openejb-osgi/src/main/java/org/apache/openejb/core/osgi/impl/Deployer.java Thu Dec 22 15:37:23 2011
@@ -79,7 +79,13 @@ public class Deployer implements BundleL
undeploy(event.getBundle());
break;
case BundleEvent.UPDATED:
- undeploy(event.getBundle());
+ try {
+ undeploy(event.getBundle());
+ } catch (NullPointerException npe) {
+ // can happen when shutting down an OSGi server
+ // because of all stop events
+ LOGGER.warn("can't undeploy bundle #{}", event.getBundle().getBundleId());
+ }
deploy(event.getBundle());
break;
}
@@ -168,7 +174,10 @@ public class Deployer implements BundleL
if (paths.containsKey(bundle)) {
try {
- SystemInstance.get().getComponent(Assembler.class).destroyApplication(paths.remove(bundle));
+ Assembler assembler = SystemInstance.get().getComponent(Assembler.class);
+ if (assembler != null) { // openejb stopped before bundles when shuttind down the OSGi container
+ assembler.destroyApplication(paths.remove(bundle));
+ }
} catch (IllegalStateException ise) {
LOGGER.error("Can't undeploy bundle #{}", bundle.getBundleId());
} catch (UndeployException e) {