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