Hi folks, Apologies if this has already been answered. I've been back through the previous two quarters' messages and I didn't find anything pertinent.
I'm having a play with the Pax Web War Extender, and I have got it working with a WAB. The WAB contains just a couple of JSP pages at this point, as well as a bundle activator, which registers a servlet via the Whiteboard extender: Dictionary<String, String> props = new Hashtable<String, String>(); props.put( "alias", "/testservlet" ); props.put( "servlet-name", "My Servlet" ); sr = context.getBundleContext().registerService( Servlet.class.getName(), servlet, props ); When this line is executed, Pax raises an IllegalArgumentException: ERROR: Bundle org.ops4j.pax.web.pax-web-extender-whiteboard [12] EventDispatcher: Error during dispatch. (java.lang.IllegalStateException: Http context already used. Context params can be set only before first usage) java.lang.IllegalStateException: Http context already used. Context params can be set only before first usage I'll include the full trace at the end, in case it's useful. The JSP works, despite the exception, but the servlet doesn't. My working theory is that the WAR extender creates an HttpContext and uses this to serve the JSPs. When I then try to register my servlet, the Whiteboard is using the same context. Am I doing something wrong? Is it possible to use both the extender and the whiteboard at the same time? I have the following Pax bundles deployed in the latest Felix: OPS4J Pax Web - Extender - WAR (1.0.3) OPS4J Pax Web - Extender - Whiteboard (1.0.3) OPS4J Pax Web - Jetty Bundle (1.0.3) OPS4J Pax Web - Jsp Support (1.0.3) OPS4J Pax Web - Service SPI (1.0.3) Many thanks everyone, any advice would be appreciated. Apologies if gmail has screwed up the formatting. -John ----------------8<--------------- ERROR: Bundle org.ops4j.pax.web.pax-web-extender-whiteboard [12] EventDispatcher: Error during dispatch. (java.lang.IllegalStateException: Http context already used. Context params can be set only before first usage) java.lang.IllegalStateException: Http context already used. Context params can be set only before first usage at org.ops4j.pax.web.service.internal.HttpServiceStarted.setContextParam(HttpServiceStarted.java:353) at org.ops4j.pax.web.service.internal.HttpServiceProxy.setContextParam(HttpServiceProxy.java:174) at org.ops4j.pax.web.extender.whiteboard.internal.WebApplication.registerHttpContext(WebApplication.java:180) at org.ops4j.pax.web.extender.whiteboard.internal.WebApplication.setHttpContextMapping(WebApplication.java:147) at org.ops4j.pax.web.extender.whiteboard.internal.ExtenderContext.getWebApplication(ExtenderContext.java:68) at org.ops4j.pax.web.extender.whiteboard.internal.tracker.AbstractTracker.addingService(AbstractTracker.java:135) at org.ops4j.pax.web.extender.whiteboard.internal.tracker.ServletTracker.addingService(ServletTracker.java:42) at org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:896) at org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:261) at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:233) at org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:840) 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:3894) at org.apache.felix.framework.Felix.access$000(Felix.java:79) at org.apache.felix.framework.Felix$2.serviceChanged(Felix.java:722) at org.apache.felix.framework.ServiceRegistry.registerService(ServiceRegistry.java:107) at org.apache.felix.framework.Felix.registerService(Felix.java:2983) at org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:310) at org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:284) at dam.ui.web.test.TestClass.activate(TestClass.java:50) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.felix.scr.impl.helper.BaseMethod.invokeMethod(BaseMethod.java:227) at org.apache.felix.scr.impl.helper.BaseMethod.access$500(BaseMethod.java:38) at org.apache.felix.scr.impl.helper.BaseMethod$Resolved.invoke(BaseMethod.java:591) at org.apache.felix.scr.impl.helper.BaseMethod.invoke(BaseMethod.java:472) at org.apache.felix.scr.impl.helper.ActivateMethod.invoke(ActivateMethod.java:146) at org.apache.felix.scr.impl.manager.ImmediateComponentManager.createImplementationObject(ImmediateComponentManager.java:226) at org.apache.felix.scr.impl.manager.ImmediateComponentManager.createComponent(ImmediateComponentManager.java:118) at org.apache.felix.scr.impl.manager.AbstractComponentManager$Unsatisfied.activate(AbstractComponentManager.java:1013) at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:333) at org.apache.felix.scr.impl.manager.AbstractComponentManager.enable(AbstractComponentManager.java:157) at org.apache.felix.scr.impl.config.ImmediateComponentHolder.enableComponents(ImmediateComponentHolder.java:313) at org.apache.felix.scr.impl.BundleComponentActivator.loadDescriptor(BundleComponentActivator.java:253) at org.apache.felix.scr.impl.BundleComponentActivator.initialize(BundleComponentActivator.java:147) at org.apache.felix.scr.impl.BundleComponentActivator.<init>(BundleComponentActivator.java:111) at org.apache.felix.scr.impl.Activator.loadComponents(Activator.java:274) at org.apache.felix.scr.impl.Activator.bundleChanged(Activator.java:192) 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:3883) at org.apache.felix.framework.Felix.startBundle(Felix.java:1797) at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1173) at org.apache.felix.framework.StartLevelImpl.run(StartLevelImpl.java:264) at java.lang.Thread.run(Thread.java:680) -- John Hawksley john.hawks...@gmail.com
_______________________________________________ general mailing list general@lists.ops4j.org http://lists.ops4j.org/mailman/listinfo/general