code
docs
tests
OSGi Library allows you to import OSGi services as Qi4j Services and to export Qi4j Services as OSGi Services both leveraging the Qi4j Availability and OSGi FallbackStrategy mechanisms.
interface MyQi4jService extends OSGiEnabledService { // ... } [...snip...] public void assemble( ModuleAssembly module ) throws AssemblyException { BundleContext bundleContext = // ... [...snip...] module.services( OSGiServiceExporter.class ). setMetaInfo( bundleContext ); module.services( MyQi4jService.class ); }
public void assemble( ModuleAssembly module ) throws AssemblyException { [...snip...] module.services( OSGiServiceImporter.class ). setMetaInfo( new OSGiImportInfo( bundleContext, MyOSGiService.class, MyOtherOSGiService.class ) ). setMetaInfo( new MyFallbackStrategy() ); }
The fallback strategy is invoked when the OSGi service is not available and a method call is invoked.