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]