自己写输入输出适配器,只需要实现OptimizedInputAdaptorI和OptimizedInputAdaptorI就可以了。
1.输入适配器
package com.example;
import java.util.Date;
import zstreamplus.eventbuffer.PrimitiveEvent;
import zstreamplus.eventbuffer.ValueType;
import com.sodbase.inputadaptor.OptimizedInputAdaptorI;
public class MyInputAdaptor extends OptimizedInputAdaptorI
{
private String[] myParams;
@Override
public void run()
{
running=true;
while(running)
{
// get the data
// generate the event
PrimitiveEvent primitiveEvent = new PrimitiveEvent();
ValueType valueType = new ValueType("value1", "string");
primitiveEvent.getAttributeMap().put("attrbute1", valueType);
valueType = new ValueType("value2", "double");
primitiveEvent.getAttributeMap().put("attrbute2", valueType);
long timestamp = new Date().getTime();
primitiveEvent.setStart_ts(timestamp);
primitiveEvent.setEnd_ts(timestamp);
//put to the stream
putEventToStream(primitiveEvent);
}
}
@Override
public void setUp()
{
/**
* configured in CEP model file (XML), or in .soddata* file,
* or directly manupulate GraphModelData object
*
* The first parameter should be the stream name that this input adaptor binds.
*/
myParams = getParams();
}
private boolean running = true;
@Override
public boolean isRunning()
{
return running;
//return running state for monitoring
}
@Override
public void stopInputStream()
{
running=false;
// stop input, release
}
}
2.输出适配器
package com.example;
import java.util.List;
import zstreamplus.eventbuffer.Event;
import zstreamplus.eventbuffer.PrimitiveEvent;
import com.sodbase.outputadaptor.OptimizedOutputAdaptorI;
public class MyOutputAdaptor extends OptimizedOutputAdaptorI
{
String[] myParameters;
@Override
public void output(List<Event> eventlist)
{
while (eventlist.size() > 0)
{
Event e = eventlist.remove(0);
if (e instanceof PrimitiveEvent)
{
//do something here
} else
{
}
}
}
@Override
public void setUp()
{
/**
* configured in CEP model file (XML), or in .soddata* file,
* or directly manupulate GraphModelData object
*/
myParameters=getParams();
}
@Override
public void stopOutput()
{
//release the resources
}
}
写好适配器后,Export为jar文件,放到Studio的lib下面,在configuration/adaptor.properties中添加配置,就可以在Studio中测试使用此适配器了。
示例代码下载SODBASE-CEP-SDK-Adaptor.zip
SODBASE CEP用于轻松、高效实施数据监测、监控类、实时交易类项目
。嵌入式方式编程参见运行第一个EPL例子。与Storm集成参见EPL与Storm集成。缓存扩展参见与分布式缓存集成。
![微笑](http://static.blog.csdn.net/xheditor/xheditor_emot/default/smile.gif)