code
docs
tests
OSGi Library allows you to import OSGi services as Polygene™ Services and to export Polygene™ Services as OSGi Services both leveraging the Polygene™ Availability and OSGi FallbackStrategy mechanisms.
Table 32. Artifact
| Group ID | Artifact ID | Version | 
|---|---|---|
org.apache.polygene.libraries  | org.apache.polygene.library.osgi  | 3.0.0  | 
interface MyPolygeneService
    extends OSGiEnabledService
{
    // ...
}
  [...snip...]
public void assemble( ModuleAssembly module )
    throws AssemblyException
{
    BundleContext bundleContext = // ...
      [...snip...]
    module.services( OSGiServiceExporter.class ).
        setMetaInfo( bundleContext );
    module.services( MyPolygeneService.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.