This document aims to list possible extensions to the R4 Service Component Runtime (chapter 112 Declarative Services Specification Version 1.0)
Extension 1: General-Typing Property
The typing system for SC registration properties is limited to a fixed set
(ie String, Boolean, Byte, Short, Int, Long, Float, Double)
and could be used to componentify services following other chapters on the specification.
For instance in Chapter "108 Wire Admin Service Specification Version 1.0", org.osgi.service.wa.Consumer
service registered a property consumer.flavors
which MUST BE Class[]. Idem for org.osgi.service.wa.Producer
with property producer.flavors
An example of the extension of the SCR property element is here.
The class implementing the element is here.
Extension 2: SCR and Event Admin
The implementation of the SCR could send to the Event Admin service events related to components/isntances/factories lifecycles.
Extension 3: Remote Properties and Scripts
TO EXPLAIN
<properties url="http://www.foo.org/bundles/b1/b1.properties" cached="true" expires="never" /> <properties url="http://www.foo.org/bundles/b1/b1.properties" cached="false" /> <implementation class="org.foo.bundle.b1.Comp1" /> <implementation language="java" class="org.foo.bundle.b1.Comp1" /> <implementation language="javascript" entry="OSGI-INF/echocmd.js" /> <implementation language="javascript" url="http://www.foo.org/bundles/b1/echocmd.js" cached="true" expires="never" /> <implementation language="javascript" url="http://www.foo.org/bundles/b1/echocmd.js" cached="false" /> <implementation language="jython" url="http://www.foo.org/bundles/b1/echocmd.py" />