Hi, We are using Wicket as the UI layer in our OSGi application platform project. The registration of WicketServlet (or filter) is done in the very similar way like the Edgar wrote (even we have the same class names :)). And it is quite simple. The main problem is with Spring (precisely with spring bean injection). In OSGi each bundle has its own ApplicationContext (AppCtxt) and ClassLoader, so the standard Wicket mechanism (wicket-spring & wicket-spring-annot) does not work when you want to use more than one bundle in your app.
Problems: 1. There is one AppCtxt inside application (eg. SpringWebApplication), so when each bundle with your Wicket pages (panels, components, etc.) has its own AppCtxt you cannot get beans or inject beans in it. 2. InjectorHolder holds only one AppCtxt (it is used when you using injection outside components). I have to extend these mechanisms to support multiple AppCtxt. I only mention here that we have added a new interface to provide a proper injector: public interface InjectorProvider { ConfigurableInjector getInjector(); } and instead of using default InjectorHolder we use a there similar class ContextInjector, which is using InjectorProvider interface for resolving current injector. The simple implementation is (in apps outside OSGi - with only one AppCtxt): public class DefaultInjectorProvider implements InjectorProvider { public ConfigurableInjector getInjector() { return InjectorHolder.getInjector(); } } But inside OSGi injectors are hold in context of bunldes' class loaders. Maybe in the next versions of Wicket we should think about a small refactorization to support multiple AppCtxt ;). "I'm looking for the most flexible way of composing an application and deploying Wicket pages/panels as OSGi bundles seems like a nice way." We don't use Pax. We have our own visual plugins' system based on pages and panels and we can use them to compose a pages or another plugins. Plugins can be delivered in different bundles. But it is a long story ;). Best regards, Daniel --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]