In my case, the system bundles are already deployed into Apache Felix Karaf. Karaf uses a different provisioning mechanism (based on feature file + pax url mvn).
So, it makes no sense to call ProvisionActivator from Karaf bootstrap. What is the workaround ? Regards, Charles Moulliard Senior Enterprise Architect Apache Camel Committer ***************************** blog : http://cmoulliard.blogspot.com twitter : http://twitter.com/cmoulliard Linkedlin : http://www.linkedin.com/in/charlesmoulliard Apache Camel Group : http://www.linkedin.com/groups?home=&gid=2447439&trk=anet_ug_hm On Wed, Jan 6, 2010 at 2:01 PM, Karl Pauls <[email protected]> wrote: > It gets added in: > > > http://svn.apache.org/repos/asf/felix/trunk/http/samples/bridge/src/main/java/org/apache/felix/http/samples/bridge/ProvisionActivator.java > > which is passed to the framework in: > > > http://svn.apache.org/repos/asf/felix/trunk/http/samples/bridge/src/main/java/org/apache/felix/http/samples/bridge/FrameworkService.java > > look for the createConfig method. > > regards, > > Karl > > On Wed, Jan 6, 2010 at 12:41 PM, Charles Moulliard <[email protected]> > wrote: > > My example is quite similar to the ServletListener of Bridge example but > > uses Apache Felix Karaf > > > > <?xml version="1.0" encoding="UTF-8"?> > > <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application > > 2.3//EN" > > "http://java.sun.com/dtd/web-app_2_3.dtd"> > > <web-app> > > > > <listener> > > > > > <listener-class>org.apache.felix.http.samples.bridge.StartupListener</listener-class> > > </listener> > > > > <servlet> > > <servlet-name>proxy</servlet-name> > > > > <servlet-class>org.apache.felix.http.proxy.ProxyServlet</servlet-class> > > <load-on-startup>1</load-on-startup> > > </servlet> > > > > <servlet-mapping> > > <servlet-name>proxy</servlet-name> > > <url-pattern>/*</url-pattern> > > </servlet-mapping> > > > > </web-app> > > > > *WebAppListener class :* > > > > import java.io.File; > > > > import javax.servlet.ServletContextEvent; > > import javax.servlet.ServletContextListener; > > > > import org.apache.commons.logging.Log; > > import org.apache.commons.logging.LogFactory; > > import org.apache.felix.karaf.main.Main; > > import org.apache.felix.karaf.main.Bootstrap; > > > > public class WebAppListener implements ServletContextListener { > > > > private static final transient Log LOG = > > LogFactory.getLog(WebAppListener.class); > > > > private Main main; > > > > public void contextInitialized(ServletContextEvent sce) { > > try { > > LOG.info("contextInitialized"); > > String root = new > File(sce.getServletContext().getRealPath("/") > > + "WEB-INF/karaf").getAbsolutePath(); > > LOG.info("Root: " + root); > > System.setProperty("karaf.home", root); > > System.setProperty("karaf.base", root); > > System.setProperty("karaf.startLocalConsole", "false"); > > System.setProperty("karaf.startRemoteShell", "true"); > > main = Bootstrap.launch(new String[0]); > > } catch (Exception e) { > > main = null; > > LOG.error( e ); > > } > > } > > > > public void contextDestroyed(ServletContextEvent sce) { > > try { > > LOG.info("contextDestroyed"); > > if (main != null) { > > main.destroy(false); > > } > > } catch (Exception e) { > > LOG.error( e ); > > } > > } > > > > } > > > > The FrameWorkService class called by the StartupListener class of bridge > > example starts Felix but I don't see that the BundleContext is added. > > Question : Is the bundleContext created and added automatically by Felix > > when started ? > > > > Regards, > > > > Charles Moulliard > > Senior Enterprise Architect > > Apache Camel Committer > > > > ***************************** > > blog : http://cmoulliard.blogspot.com > > twitter : http://twitter.com/cmoulliard > > Linkedlin : http://www.linkedin.com/in/charlesmoulliard > > > > Apache Camel Group : > > http://www.linkedin.com/groups?home=&gid=2447439&trk=anet_ug_hm > > > > > > On Wed, Jan 6, 2010 at 12:32 PM, Karl Pauls <[email protected]> wrote: > > > >> Make sure you follow all the steps described in the link plus maybe > >> look at the example: > >> http://svn.apache.org/repos/asf/felix/trunk/http/samples/bridge/ > >> > >> it sounds like you didn't do the servletlistener that starts the > >> framework and sets the context. > >> > >> (the process is not super automated atm and involves a couple of steps > >> so don't give up to easily :-) > >> > >> regards, > >> > >> Karl > >> > >> On Wed, Jan 6, 2010 at 12:17 PM, Charles Moulliard < > [email protected]> > >> wrote: > >> > Many thanks. > >> > > >> > I test it with my example but Tomcat generates this error during > >> > initialisation of the proxy bridge servlet --> > >> > > >> > javax.servlet.ServletException: Bundle context attribute > >> > [org.osgi.framework.BundleContext] not set in servlet context > >> > at > >> > > >> > org.apache.felix.http.proxy.ProxyServlet.getBundleContext(ProxyServlet.java:81) > >> > at > >> org.apache.felix.http.proxy.ProxyServlet.doInit(ProxyServlet.java:50) > >> > at > org.apache.felix.http.proxy.ProxyServlet.init(ProxyServlet.java:39) > >> > at > >> > > >> > org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1161) > >> > at > >> > > >> > org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:806) > >> > at > >> > > >> > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:129) > >> > at > >> > > >> > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) > >> > at > >> > > >> > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) > >> > at > >> > > >> > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) > >> > at > >> > > >> > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) > >> > at > >> > > >> > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263) > >> > at > >> > > >> > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) > >> > at > >> > > >> > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584) > >> > at > >> > > org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) > >> > at java.lang.Thread.run(Thread.java:619) > >> > > >> > How the ProxyServlet retrieves such bundleContext ? > >> > > >> > Regards, > >> > > >> > Charles Moulliard > >> > Senior Enterprise Architect > >> > Apache Camel Committer > >> > > >> > ***************************** > >> > blog : http://cmoulliard.blogspot.com > >> > twitter : http://twitter.com/cmoulliard > >> > Linkedlin : http://www.linkedin.com/in/charlesmoulliard > >> > > >> > Apache Camel Group : > >> > http://www.linkedin.com/groups?home=&gid=2447439&trk=anet_ug_hm > >> > > >> > > >> > On Wed, Jan 6, 2010 at 12:09 PM, Karl Pauls <[email protected]> > wrote: > >> > > >> >> Yup: > >> >> > >> >> > >> >> > >> > http://felix.apache.org/site/apache-felix-http-service.html#ApacheFelixHTTPService-UsingtheServletBridge > >> >> > >> >> regards, > >> >> > >> >> Karl > >> >> > >> >> On Wed, Jan 6, 2010 at 11:15 AM, Charles Moulliard < > >> [email protected]> > >> >> wrote: > >> >> > Hi, > >> >> > > >> >> > Is there a servlet bridge available for Apache Felix like we have > with > >> >> > equinox --> > >> http://www.eclipse.org/equinox/server/http_in_container.php? > >> >> > > >> >> > Regards, > >> >> > > >> >> > Charles Moulliard > >> >> > Senior Enterprise Architect > >> >> > Apache Camel Committer > >> >> > > >> >> > ***************************** > >> >> > blog : http://cmoulliard.blogspot.com > >> >> > twitter : http://twitter.com/cmoulliard > >> >> > Linkedlin : http://www.linkedin.com/in/charlesmoulliard > >> >> > > >> >> > Apache Camel Group : > >> >> > http://www.linkedin.com/groups?home=&gid=2447439&trk=anet_ug_hm > >> >> > > >> >> > >> >> > >> >> > >> >> -- > >> >> Karl Pauls > >> >> [email protected] > >> >> > >> >> --------------------------------------------------------------------- > >> >> To unsubscribe, e-mail: [email protected] > >> >> For additional commands, e-mail: [email protected] > >> >> > >> >> > >> > > >> > >> > >> > >> -- > >> Karl Pauls > >> [email protected] > >> > >> --------------------------------------------------------------------- > >> To unsubscribe, e-mail: [email protected] > >> For additional commands, e-mail: [email protected] > >> > >> > > > > > > -- > Karl Pauls > [email protected] > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > >

