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:
public class SomeTime implements Runnable { @Producer protected Channel channel; public void run() { Event event = ... channel.publish(event); } }
and configuring it in a composite:
<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").