Eventing-style interactions involve a component that acts as a source or producer of events which are dispatched to a channel. In turn, consumer components are configured to listen on a channel for events. Similar to reference injection, a source component is injected with a producer proxy using the Fabric3 @Producer annotation. This proxy is responsible for dispatching messages to a channel. A component subscribes to a channel using a consumer method.
The following is an example of a source component with a an injected producer:
Code Block | ||||
---|---|---|---|---|
| ||||
import org.fabric3.api.annotation.Producer; public class BuyComponent implements BuyService { @Producer private BuyChannel buyChannel; public void process() { BuyEvent event = ... buyChannel.publish(event);* } } |
...