public interface MyEventType extends EventType { void handle(MyEvent event); } public class MyEvent { private String message; public MyEvent(String message) { this.message = message; } public String getMessage() { return message; } } public class MyEventHandler implements EventHandler<MyEventType> { @Override public void handleEvent(MyEvent event) { System.out.println("Received event: " + event.getMessage()); } } public class EventPublisher { private EventAdmin eventAdmin; public void setEventAdmin(EventAdmin eventAdmin) { this.eventAdmin = eventAdmin; } public void publishEvent(String message) { MyEvent event = new MyEvent(message); eventAdmin.postEvent(event); } } public class EventSubscriber { public void activate() { ServiceTracker<MyEventType, MyEventHandler> tracker = new ServiceTracker<>( bundleContext, MyEventType.class, null); tracker.open(); } public void deactivate() { tracker.close(); } }


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