Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java中的简单Esper示例_Java_Esper - Fatal编程技术网

Java中的简单Esper示例

Java中的简单Esper示例,java,esper,Java,Esper,我下载了最新的Esper。我将根esper目录的路径和lib子目录添加到.bash\u profile类路径中。我从bash\u配置文件中获取了信息 然后我输入了我在网上找到的这个程序,但它给了我这个错误。不知道我做错了什么 java:1:error:package com.espertech.esper.client不存在 导入com.espertech.esper.client.*; 导入com.espertech.esper.client.*; 导入java.util.Random; 导入

我下载了最新的Esper。我将根esper目录的路径和lib子目录添加到
.bash\u profile类路径中。我从
bash\u配置文件中获取了信息

然后我输入了我在网上找到的这个程序,但它给了我这个错误。不知道我做错了什么

java:1:error:package com.espertech.esper.client不存在

导入com.espertech.esper.client.*;
导入com.espertech.esper.client.*;
导入java.util.Random;
导入java.util.Date;
公共类示例main{
公共静态类标记{
字符串符号;
双倍价格;
日期时间戳;
公共记号(字符串s、双p、长t){
符号=s;
价格=p;
时间戳=新日期(t);
}
public double getPrice(){return price;}
公共字符串getSymbol(){return symbol;}
公共日期getTimeStamp(){return timeStamp;}
@凌驾
公共字符串toString(){
return“Price:+Price.toString()+”time:+timeStamp.toString();
}
}
专用静态随机生成器=新随机();
公共静态无效生成器动态标记(EPRuntime cepRT){
双倍价格=(双倍)发电机;
长时间戳=System.currentTimeMillis();
String symbol=“AAPL”;
勾号=新勾号(符号、价格、时间戳);
System.out.println(“发送勾号:+勾号”);
接受发送事件(勾号);
}
公共静态类CEPListener实现UpdateListener{
公共无效更新(EventBean[]newData,EventBean[]oldData){
System.out.println(“接收到的事件:+newData[0].getUnderground());
}
}
公共静态void main(字符串[]args){
//该配置仅表示为初始化时间对象。
配置cepConfig=新配置();
cepConfig.addEventType(“StockTick”,Tick.class.getName());
EPServiceProvider cep=EPServiceProviderManager.getProvider(“myCEPEngine”,cepConfig);
EPRuntime cepRT=cep.getEPRuntime();
eAdministrator cepAdm=cep.geteAdministrator();
EPStatement cepStatement=cepAdm.createpl(“选择*from”+
“股票代码(symbol='AAPL')。赢:长度(2)”+
“平均价格>6.0”);
addListener(新的CEPListener());
//我们产生了一些滴答声。。。
对于(int i=0;i<5;i++){
发电机驱动(cepRT);
}
}
}
您需要将添加到项目工作区。如果您在运行esper项目时遇到其他问题,您可以尝试此非常简单和原始的教程”。
祝你好运!

无需在.bash_profile classpath中添加类路径。只需在构建路径中添加一些缺少的jar即可。

你是否能够
导入
com.espertech.esper.client.*
使用你的IDE?我不理解这个问题。我是从命令行执行此操作的,我没有IDE。尽管我支持ose我可以下载IntelliJ,但我看不出添加额外级别的间接寻址会有什么帮助?当我查看下载的目录时,我看不到任何类似于com jar文件的内容。如果
com
没有jar/war文件,那么您就无法导入它或将其用作依赖项。可能Esper设置有问题?是吗你有一个pom.xml(或其他一些与构建相关的文件)?我开始相信这与maven有关。我不明白我应该如何安装esper,因为似乎只是将目录添加到类路径中,不起作用。另一方面,示例程序可以工作。作为注释推荐
    import com.espertech.esper.client.*;



    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);
        }
    }
}