Skip to content

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
		
	}

}

Clone this wiki locally