Get the bundle context from the system bundle from the outside (inside
the frameworkservice after the framework has been started) and
register it there.

regards,

Karl

On Wed, Jan 6, 2010 at 2:54 PM, Charles Moulliard <[email protected]> wrote:
> 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]
>>
>>
>



-- 
Karl Pauls
[email protected]

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to