-
Notifications
You must be signed in to change notification settings - Fork 31
Create a SampleProcessor using AbstarctQueuedEventProcessor
fiwang edited this page Feb 12, 2015
·
1 revision
Next we will show you how to create a SampleProcessor by extending AbstractQueuedEventProcessor. In this case AbstractQueueEventProcessor has a queue and dispatch threads with a monitor for the queue. You might want to use this if your implementation requires queue to front end your class. In this case pipeline flow control is implemented in the base class and your class has very little control.

An example Spring bean definition for SampleProcessor is shown below
<bean id="SampleProcessor" class="com.ebay.jetstream.samples.SampleProcessor">
<property name="config" ref="SampleProcessorConfig" />
<property name="eventSinkList" ref="sampleprocessorsinks" />
</bean>
<bean id="SampleProcessorConfig" class="com.ebay.jetstream.samples.SampleProcessorConfig">
<property name="x" value="1" />
</bean>
<bean id="sampleprocessorsinks" class="com.ebay.jetstream.event.EventSinkList">
<property name="sinks">
<list>
<ref bean="outboundSampleChannel" />
</list>
</property>
</bean>
import com.ebay.jetstream.event.JetstreamEvent;
import com.ebay.jetstream.event.processor.AbstractQueuedEventProcessor;
import com.ebay.jetstream.event.processor.EventProcessRequest;
import com.ebay.jetstream.spring.beans.factory.BeanChangeAware;
@ManagedResource(objectName = "Event/Processor", description = "SampleProcessor")
public class SampleProcessor extends AbstractQueuedEventProcessor implements XSerializable {
@Override
protected EventProcessRequest getProcessEventRequest(JetstreamEvent event) {
// now create a work item to process the event
EventProcessRequest epr = new EventProcessRequest(event, statscollector);
return epr;
}
@Override
protected void init() {
// This is where you do your Initialization
}
}