The state of osgi bundle is:

     0|Active     |    0|System Bundle (3.0.6)
     1|Active     |    1|Apache Felix Bundle Repository (1.6.2)
     2|Active     |    1|Apache Felix Gogo Command (0.6.1)
     3|Active     |    1|Apache Felix Gogo Runtime (0.6.1)
     4|Active     |    1|Apache Felix Gogo Shell (0.6.1)
     5|Active     |    1|Apache Felix Http Bundle (2.0.4)

Thanks,
It does look to be started here - although I note you aren't running any kind of log service, which might help you be showing log and diagnostic messages
   public void start(BundleContext bc) throws Exception {
  ServiceReference sRef =

bc.getServiceReference(HttpService.class.getName());

  if (sRef != null)

  {

   HttpService service = (HttpService) bc.getService(sRef);

   service.registerServlet("/hello", new Service(), null, null);

}
One thing to be very careful of here is startup timing. You cannot simply assume in your start() method that other services will be started at this point. And if they aren't, you won't get a service reference for them.

There are various approaches around this - the easiest is to use one of the lifecycle handlers, like Felix DS, to manage this for you.

An alternative is to use your own service listeners, but this can involve a lot more coding on your part - especially for boundary cases.

As a simple/quick hack to see if this is the problem - you could put all your base bundles in a lower start level than your test bundle. This isn't an especially nice solution, but it can work.

- Rob Walker



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

Reply via email to