diff options
author | Jan Bartel | 2013-11-11 06:44:39 +0000 |
---|---|---|
committer | Jan Bartel | 2013-11-11 06:44:39 +0000 |
commit | 8d2d598a72b621920802549d31d15e51997ad947 (patch) | |
tree | 2d80725cfba663cd439ff975aabd79e42e45d425 | |
parent | 16d22828fd96c2970c8c4f9292df3c175bea95c7 (diff) | |
download | org.eclipse.jetty.project-8d2d598a72b621920802549d31d15e51997ad947.tar.gz org.eclipse.jetty.project-8d2d598a72b621920802549d31d15e51997ad947.tar.xz org.eclipse.jetty.project-8d2d598a72b621920802549d31d15e51997ad947.zip |
421362 When using the jetty.osgi.boot ContextHandler service feature the wrong ContextHandler can be undeployed
-rw-r--r-- | jetty-osgi/jetty-osgi-boot/src/main/java/org/eclipse/jetty/osgi/boot/ServiceContextProvider.java | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/jetty-osgi/jetty-osgi-boot/src/main/java/org/eclipse/jetty/osgi/boot/ServiceContextProvider.java b/jetty-osgi/jetty-osgi-boot/src/main/java/org/eclipse/jetty/osgi/boot/ServiceContextProvider.java index a228a6288d..a6633f9a42 100644 --- a/jetty-osgi/jetty-osgi-boot/src/main/java/org/eclipse/jetty/osgi/boot/ServiceContextProvider.java +++ b/jetty-osgi/jetty-osgi-boot/src/main/java/org/eclipse/jetty/osgi/boot/ServiceContextProvider.java @@ -31,6 +31,7 @@ import org.eclipse.jetty.server.handler.ContextHandler; import org.eclipse.jetty.util.log.Log; import org.eclipse.jetty.util.log.Logger; import org.osgi.framework.Bundle; +import org.osgi.framework.Constants; import org.osgi.framework.FrameworkUtil; import org.osgi.framework.ServiceReference; import org.osgi.framework.ServiceRegistration; @@ -120,7 +121,7 @@ public class ServiceContextProvider extends AbstractContextProvider implements S properties.put(key, serviceRef.getProperty(key)); } Bundle bundle = serviceRef.getBundle(); - String originId = bundle.getSymbolicName() + "-" + bundle.getVersion().toString() + "-"+contextFile; + String originId = bundle.getSymbolicName() + "-" + bundle.getVersion().toString() + "-"+(contextFile!=null?contextFile:serviceRef.getProperty(Constants.SERVICE_ID)); ServiceApp app = new ServiceApp(getDeploymentManager(), this, bundle, properties, contextFile, originId); app.setHandler(context); //set the pre=made ContextHandler instance _serviceMap.put(serviceRef, app); |