Application use cases often require sending recurring or timed notifications. This can be done by creating a timer component that has a producer connected to a channel:
Code Block | ||||
---|---|---|---|---|
| ||||
public class SomeTime implements Runnable {
@Producer
protected Channel channel;
public void run() {
Event event = ...
channel.publish(event);
}
}
|
and configuring it in a composite:
Code Block | ||||
---|---|---|---|---|
| ||||
<composite ....>
<component name="Timer">
<f3:implementation.timer class="..." repeatInterval="10000"/>
<producer name="channel" target="SomeChannel"/>
</composite>
|
Further, to limit timed events to a single source in a clustered zone, mark the implementation with @Scope("DOMAIN").