Hi Davi,
You can absolutely use the EventAdmin for your ‘own’ events. There are many
ways to accomplish this. My preference is to use the component annotations.
The class that generates the event needs a reference to the EventAdmin, like so:
@Reference
private EventAdmin eventAdmin;
…
eventAdmin.postEvent(new Event(YOUR_TOPIC, eventProperties));
And the class(es) that consume the event need to register the event topic they
are interested in like so:
@Component(
property = {
EventConstants.EVENT_TOPIC + "=" + YOUR_TOPIC
})
public class YourClass implements EventHandler {
…
@Override
public void handleEvent(Event event) {
// Do your event thing here
}
Cheers,
Erwin
> On May 17, 2020, at 20:53, Davi Baldin Tavares <[email protected]> wrote:
>
> Hi all,
>
> I would like to add an event driven communication to my app. For example if
> some sort of data (pattern) is going to be saved into database by the DAO
> service, an event should be raised and broadcasted to other
> bundle/services/listeners. Instead of writing my own “AMQP” framework, can I
> reuse current Karaf EventAdmin implementation? Event propagation is only
> required inside the same instance and the outside Comunication is not
> necessary right now. It is ok to extend the EventAdmin usage beyond bundle
> lifecycle and framework stuff?
>
> Thanks,
>
> Davi