public interface EventPublisher {
@Event("my/event/topic")
void publishEvent(Object event);
}
public interface EventSubscriber {
@Event("my/event/topic")
void processEvent(Object event);
}
@Component
public class MyEventComponent implements EventPublisher, EventSubscriber {
@Inject
private EassEventBus eventBus;
@Override
public void publishEvent(Object event) {
eventBus.publish(event);
}
@Override
public void processEvent(Object event) {
}
}