esper的安装与导入包的使用

1. esper的安装:

在 http://esper.codehaus.org/esper/download/download.html 这里下载esper压缩包。解压缩之后获得文件夹 esper-4.x.x,在该文件夹根目录有 esper-4.x.x.jar,这就是我们需要用到的esper库,将其加入到项目中。值得注意的是,使用esper不仅仅需要这个jar文件,还需要esper所依赖的其他的库。我们还需要将 esper-4.x.x/esper/lib 文件夹内的4个jar文件同样加入项目,这样才能正常使用 esper。


2. 详细安装方法:

已经安装好esper的同学可以直接跳至第三步。由于本人刚刚学习Java,对于Java的对于第三方库的使用非常不了解。所以费了老半天劲才将esper引入项目,其实很简单。(1) 将esper-4.x.x.jar 文件拖入eclipse的项目中,选择“Copy File”。(2) 右击项目名 => Properties => Libraries => Add JARs => 选择 esper-4.x.x.jar => OK ,这样,esper就安装好了。(3) 同样的办法引入 esper-4.x.x/esper/lib 文件夹内的另外4个jar文件。之后,esper就可以使用了。


import com.espertech.esper.client.*; import java.util.Random; import java.util.Date;

public class exampleMain {

public static class Tick {
    String symbol;
    Double price;
    Date timeStamp;

    public Tick(String s, double p, long t) {
        symbol = s;
        price = p;
        timeStamp = new Date(t);
    }
    public double getPrice() {return price;}
    public String getSymbol() {return symbol;}
    public Date getTimeStamp() {return timeStamp;}

    @Override
    public String toString() {
        return "Price: " + price.toString() + " time: " + timeStamp.toString();
    }
}

private static Random generator = new Random();

public static void GenerateRandomTick(EPRuntime cepRT) {

    double price = (double) generator.nextInt(10);
    long timeStamp = System.currentTimeMillis();
    String symbol = "AAPL";
    Tick tick = new Tick(symbol, price, timeStamp);
    System.out.println("Sending tick:" + tick);
    cepRT.sendEvent(tick);

}

public static class CEPListener implements UpdateListener {

    public void update(EventBean[] newData, EventBean[] oldData) {
        System.out.println("Event received: " + newData[0].getUnderlying());
    }
}

public static void main(String[] args) {

//The Configuration is meant only as an initialization-time object.
Configuration cepConfig = new Configuration();
cepConfig.addEventType(“StockTick”, Tick.class.getName());
EPServiceProvider cep = EPServiceProviderManager.getProvider(“myCEPEngine”, cepConfig);
EPRuntime cepRT = cep.getEPRuntime();

    EPAdministrator cepAdm = cep.getEPAdministrator();
    EPStatement cepStatement = cepAdm.createEPL("select * from " +
            "StockTick(symbol='AAPL').win:length(2) " +
            "having avg(price) > 6.0");

    cepStatement.addListener(new CEPListener());

   // We generate a few ticks...
    for (int i = 0; i < 5; i++) {
        GenerateRandomTick(cepRT);
    }
}

}`
输出:


 
 
  1. log4j: WARN No appenders could be found for logger (com.espertech.esper.epl.metric.MetricReportingPath).
  2. log4j:WARN Please initialize the log4j system properly.
  3. Sending tick:Price: 6.0 time: Tue Jul 21 01:11:15 CEST 2009
  4. Sending tick:Price: 0.0 time: Tue Jul 21 01:11:15 CEST 2009
  5. Sending tick:Price: 7.0 time: Tue Jul 21 01:11:15 CEST 2009
  6. Sending tick:Price: 4.0 time: Tue Jul 21 01:11:15 CEST 2009
  7. Sending tick:Price: 9.0 time: Tue Jul 21 01:11:15 CEST 2009
  8. Event received: Price: 9.0 time: Tue Jul 21 01:11:15 CEST 2009

好了。esper可以使用了。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值