JAR:esper-2.2.0.jar
package esper;
import com.espertech.esper.client.EPAdministrator;
import com.espertech.esper.client.EPRuntime;
import com.espertech.esper.client.EPServiceProvider;
import com.espertech.esper.client.EPServiceProviderManager;
import com.espertech.esper.client.EPStatement;
import com.espertech.esper.client.UpdateListener;
import com.espertech.esper.event.EventBean;
class Apple {
private int id;
private int price;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getPrice() {
return price;
}
public void setPrice(int price) {
this.price = price;
}
}
class AppleListener implements UpdateListener {
@Override
public void update(EventBean[] newEvents, EventBean[] oldEvents) {
if (newEvents != null) {
Double avg = (Double) newEvents[0].get("avg(price)");
System.out.println("apple average price is " + avg);
}
}
}
public class EsperTest {
public static void main(String[] args) {
EPServiceProvider epService = EPServiceProviderManager
.getDefaultProvider();
EPAdministrator admin = epService.getEPAdministrator();
String epl = "select avg(price) from esper.Apple.win:length_batch(1)";
EPStatement state = admin.createEPL(epl);
state.addListener(new AppleListener());
String epl2 = "select avg(price) from esper.Apple.win:length_batch(1)";
EPStatement state1 = admin.createEPL(epl2);
state1.addListener(new AppleListener());
EPRuntime runtime = epService.getEPRuntime();
Apple apple1 = new Apple();
apple1.setId(1);
apple1.setPrice(1);
runtime.sendEvent(apple1);
Apple apple2 = new Apple();
apple2.setId(2);
apple2.setPrice(2);
runtime.sendEvent(apple2);
Apple apple3 = new Apple();
apple3.setId(3);
apple3.setPrice(3);
runtime.sendEvent(apple3);
Apple apple4 = new Apple();
apple4.setId(4);
apple4.setPrice(4);
runtime.sendEvent(apple4);
}
}