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.