Elasticsearch and AMQP DefaultEventForwarder classes need @InOnly interface
Description
When testing the new Discovery code, I found that the DefaultDispatcher class used there doesn't send Camel message asynchronously unless the @Produce-annotated field has an interface that is annotated @InOnly.
In the event forwarder classes, we reused the org.opennms.netmgt.events.api.EventForwarder interface for the fields. Because that is a core API interface that shouldn't need to rely on a Camel dependency, we should make a copy or subclass of the interface that resides inside the event forwarding projects that has an @InOnly annotation.
Until this is done, event forwarding is probably synchronous within Eventd which could lead to performance problems.
When testing the new Discovery code, I found that the DefaultDispatcher class used there doesn't send Camel message asynchronously unless the @Produce-annotated field has an interface that is annotated @InOnly.
In the event forwarder classes, we reused the org.opennms.netmgt.events.api.EventForwarder interface for the fields. Because that is a core API interface that shouldn't need to rely on a Camel dependency, we should make a copy or subclass of the interface that resides inside the event forwarding projects that has an @InOnly annotation.
Until this is done, event forwarding is probably synchronous within Eventd which could lead to performance problems.