Skip to content
hwellmann edited this page Jun 27, 2011 · 2 revisions

OSGi Integration Project

About

The OSGi Integration Project lets you use Wicket in OSGi environments. It provides alternative variants of the main Wicket artifacts as OSGi bundles and some additional glue code to let your Wicket components and applications interact with the OSGi service registry.

Summary

The wicket-osgi module or bundle provides the following entry points:

  • OsgiWebApplicationFactory supports bootstrapping a WebApplication from the OSGi service registry, matching a property value specified as a WicketFilter init parameter in web.xml.

  • OsgiClassResolver supports Wicket page deserialization.

  • OsgiComponentInjector lets you inject OSGi services into WIcket components by annotating fields with JSR-330 @Inject.

wicket-osgi depends on two other Wicketstuff subprojects:

  • wicket-bundle, the all-in-one OSGi-compliant packaging of Wicket, now has a revised manifest without dynamic imports.

  • wicket-ioc-bundle (sibling of wicket-bundle) does the same for wicket-ioc, which is required by wicket-osgi.

Sample Code

  • wicket-osgi-test-web and wicket-osgi-test-service are two simple test bundles for testing the glue code in an OSGi web container (Pax Web). The sample uses Aries Blueprint to interact with the service registry, but of course you can also use Declarative Services or a BundleActivator to publish your services.

Running the OSGi Sample Webapp

  • cd wicketstuff-core/jdk-1.5-parent/wicket-osgi-parent/wicket-osgi-test-web
  • mvn install pax:run
  • Open http://localhost:8080/library in your browser.

Using wicket-osgi

To use wicket-osgi in your own projects, have a look at web.xml and LibraryApplication.java in wicket-osgi-test-web, and at the Javadoc in wicket-osgi.

Author

Harald Wellmann

Clone this wiki locally