The white board pattern handlerThe objective of this handler is to simplify the development of white-board architecture. This architecture-style is based is very close to the extender architecture style but use services instead of bundles.
More information on this pattern is available in this document Using the handlerFirst of all, you need to configure the component type to use the handler such as: <ipojo xmlns:wbp="org.apache.felix.ipojo.white-board-pattern"> <component className="org.apache.felix.ipojo.test.FooWhiteBoardPattern" > <wbp:wbp filter="(my.property=1)" onArrival="onArrival" onDeparture="onDeparture" onModification="onModification" /> <provides/> </component> Notice that, this handler is an external handler. So, it uses the "org.apache.felix.ipojo.white-board-patter" namespace. public class FooWhiteBoardPattern implements Observable { List list = new ArrayList(); int modifications = 0; public synchronized void onArrival(ServiceReference ref) { list.add(ref); } public synchronized void onDeparture(ServiceReference ref) { list.remove(ref); } public synchronized void onModification(ServiceReference ref) { modifications = modifications + 1; } public synchronized Map getObservations() { Map map = new HashMap(); map.put("list", list); map.put("modifications", new Integer(modifications)); return map; } All method received the arriving, leaving or modified service reference. ConfigurationThe handler has only three mandatory attributes:
The onModification attribute is optional. This method is called when an injected service reference is modified but stills valid against the filter.
DownloadThe handler is available on the download page. |
OverviewGetting StartedUser Guide
ToolsDeveloper GuideMisc & Contact
|