Difference between revisions of "OSGi Concepts Services"

From CDOT Wiki
Jump to: navigation, search
(Created page with '{Ecl_menu}<h2>OSGi Services</h2> :A bundles can register and use services in OSGi. OSGi provides therefore a central registry for this purpose. A service is defined by a Java in…')
 
Line 1: Line 1:
{Ecl_menu}<h2>OSGi Services</h2>
+
{{Ecl_menu}}<h2>OSGi Services</h2>
  
 
:A bundles can register and use services in OSGi. OSGi provides therefore a central registry for this purpose. A service is defined by a Java interface (POJI - Plain Old Java Interface) [http://www.vogella.de/articles/OSGi/article.html#OSGiintro_services].
 
:A bundles can register and use services in OSGi. OSGi provides therefore a central registry for this purpose. A service is defined by a Java interface (POJI - Plain Old Java Interface) [http://www.vogella.de/articles/OSGi/article.html#OSGiintro_services].
  
 
:Access to the service registry is performed via the class [http://www.osgi.org/javadoc/r4v42/org/osgi/framework/BundleContext.html BundleContext]. OSGi injects the BundleContext into each bundle during the startup of the bundle. A bundle can also register itself to the BundleContext [http://www.osgi.org/javadoc/r4v42/org/osgi/framework/ServiceEvent.html ServiceEvents] which are for example triggered if a new service is installed or de-installed.
 
:Access to the service registry is performed via the class [http://www.osgi.org/javadoc/r4v42/org/osgi/framework/BundleContext.html BundleContext]. OSGi injects the BundleContext into each bundle during the startup of the bundle. A bundle can also register itself to the BundleContext [http://www.osgi.org/javadoc/r4v42/org/osgi/framework/ServiceEvent.html ServiceEvents] which are for example triggered if a new service is installed or de-installed.
 +
 +
For example, let us suppose that one wants to define a service that is capable to define the day and time.
 +
For the purpose one defines an interface:
 +
 +
<source lang="java">
 +
 +
package cs.ecl.osgi.simple.declarativeservice.say;
 +
 +
 +
public interface Sayable {
 +
String say();
 +
}
 +
 +
</source>

Revision as of 16:30, 21 January 2011

OSGi Services

A bundles can register and use services in OSGi. OSGi provides therefore a central registry for this purpose. A service is defined by a Java interface (POJI - Plain Old Java Interface) [1].
Access to the service registry is performed via the class BundleContext. OSGi injects the BundleContext into each bundle during the startup of the bundle. A bundle can also register itself to the BundleContext ServiceEvents which are for example triggered if a new service is installed or de-installed.

For example, let us suppose that one wants to define a service that is capable to define the day and time. For the purpose one defines an interface:

package cs.ecl.osgi.simple.declarativeservice.say;


public interface Sayable {
	String say();
}