Require-Capability: osgi.identity;filter:="(osgi.identity=org.osgi.service.wireadmin)"
public class MyProducer implements WireAdminProducer {
public void setConsumer(WireAdminConsumer consumer) {
this.consumer = consumer;
}
public void publishData(String data) {
// ...
consumer.consumeData(data);
}
}
public class MyConsumer implements WireAdminConsumer {
public void consumeData(String data) {
// ...
}
}
public class MyActivator implements BundleActivator {
public void start(BundleContext context) throws Exception {
WireAdminProducer producer = new MyProducer();
WireAdminConsumer consumer = new MyConsumer();
ServiceReference<WireAdmin> wireAdminRef = context.getServiceReference(WireAdmin.class);
WireAdmin wireAdmin = context.getService(wireAdminRef);
Wire wire = wireAdmin.createWire(producer, consumer, null);
((MyProducer) producer).setConsumer((MyConsumer) consumer);
// ...
}
public void stop(BundleContext context) throws Exception {
// ...
}
}