Bundle-Name: MyPlugin Bundle-SymbolicName: com.example.myplugin Bundle-Version: 1.0.0 ... Export-Package: org.osgi.service.wireadmin BundleContext context = FrameworkUtil.getBundle(MyPlugin.class).getBundleContext(); Bundle myPluginBundle = context.installBundle("file:/path/to/myplugin.jar"); myPluginBundle.start(); import org.osgi.service.wireadmin.*; public class WireAdminExample implements WireAdminListener { private WireAdmin wireAdmin; public void setWireAdmin(WireAdmin wireAdmin) { this.wireAdmin = wireAdmin; } public void start() { wireAdmin.addListener(this); } public void wireAdminEvent(WireAdminEvent event) { switch (event.getType()) { case WireAdminEvent.WIRE_CREATED: System.out.println("Wire created."); break; case WireAdminEvent.WIRE_CONNECTED: System.out.println("Wire connected."); break; case WireAdminEvent.WIRE_UPDATED: System.out.println("Wire updated."); break; case WireAdminEvent.WIRE_DISCONNECTED: System.out.println("Wire disconnected."); break; case WireAdminEvent.WIRE_DELETED: System.out.println("Wire deleted."); break; default: System.out.println("Unknown event type."); } } public void createWire(ServiceReference sourceServiceRef, ServiceReference targetServiceRef) { Dictionary<String, Object> wireProps = new Hashtable<>(); wireAdmin.createWire(sourceServiceRef, targetServiceRef, wireProps); } public void updateWire(Wire wire, Dictionary<String, Object> props) { wire.updateProperties(props); } public void deleteWire(Wire wire) { wireAdmin.deleteWire(wire); } }


上一篇:
下一篇:
切换中文