code
docs
tests
OSGi Library allows you to import OSGi services as Zest™ Services and to export Zest™ Services as OSGi Services both leveraging the Zest™ 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.