public static void main(String[] args) throws InterruptedException { EPServiceProvider epService = EPServiceProviderManager.getDefaultProvider(); EPAdministrator admin = epService.getEPAdministrator(); // String epl1 = "select (select sum(price), sum(size) from " + Apple.class.getName() + // ".std:lastevent()) from " + Fruit.class.getName(); /* * 当然,对不同的属性使用不同的聚合函数也是可以的 */ // String epl1 = "select (select sum(price), avg(size) from " + Apple.class.getName() + // ".std:lastevent()) from " + Fruit.class.getName(); /* * 注意:size没有使用聚合函数,会导致创建epl失败。文档中注明了“The properties of the subselect stream must all be within aggregation functions”. * 即子查询中的select子句使用聚合函数时,所查询的属性都要使用聚合函数 */ String epl1 = "select (select sum(price), size from " + Apple.class.getName() + ".std:lastevent()) from " + Fruit.class.getName(); admin.createEPL(epl1); System.out.println("Create epl successfully!"); }
public void runExample() { // Allocate default provider in default configuration provider = EPServiceProviderManager.getDefaultProvider(); // Add an event type Map<String, Object> typeDefinition = new HashMap<String, Object>(); typeDefinition.put("propertyOne", "string"); typeDefinition.put("propertyTwo", "int"); provider.getEPAdministrator().getConfiguration().addEventType("MyEvent", typeDefinition); // Configure and test variables configureVariables(); // Configure and test a variant stream configureVariantStream(); // Configure and test an import configureImport(); // Add a single-row function configureSingleRowFunction(); // Add a custom aggregation function configureCustomAggregationFunction(); // Use a revision event type configureRevisionType(); }
public void testContextContents() throws Exception { Configuration configuration = getConfiguration(); configuration.addPlugInEventRepresentation( new URI("type://test/support"), SupportEventRepresentation.class.getName(), "abc"); epService = EPServiceProviderManager.getDefaultProvider(configuration); epService.initialize(); PlugInEventRepresentationContext initContext = SupportEventRepresentation.getInitContext(); assertEquals(new URI("type://test/support"), initContext.getEventRepresentationRootURI()); assertEquals("abc", initContext.getRepresentationInitializer()); assertNotNull(initContext.getEventAdapterService()); ConfigurationOperations runtimeConfig = epService.getEPAdministrator().getConfiguration(); runtimeConfig.addPlugInEventType( "TestTypeOne", new URI[] {new URI("type://test/support?a=b&c=d")}, "t1"); PlugInEventTypeHandlerContext context = SupportEventRepresentation.getAcceptTypeContext(); assertEquals(new URI("type://test/support?a=b&c=d"), context.getEventTypeResolutionURI()); assertEquals("t1", context.getTypeInitializer()); assertEquals("TestTypeOne", context.getEventTypeName()); context = SupportEventRepresentation.getEventTypeContext(); assertEquals(new URI("type://test/support?a=b&c=d"), context.getEventTypeResolutionURI()); assertEquals("t1", context.getTypeInitializer()); assertEquals("TestTypeOne", context.getEventTypeName()); epService.getEPRuntime().getEventSender(new URI[] {new URI("type://test/support?a=b")}); PlugInEventBeanReflectorContext contextBean = SupportEventRepresentation.getEventBeanContext(); assertEquals("type://test/support?a=b", contextBean.getResolutionURI().toString()); }
public void testAfterNextRow() { Configuration config = SupportConfigFactory.getConfiguration(); config.addEventType("MyEvent", SupportRecogBean.class); EPServiceProvider epService = EPServiceProviderManager.getDefaultProvider(config); epService.initialize(); String[] fields = "a,b0,b1".split(","); String text = "select * from MyEvent.win:keepall() " + "match_recognize (" + " measures A.theString as a, B[0].theString as b0, B[1].theString as b1" + " AFTER MATCH SKIP TO NEXT ROW " + " pattern (A B*) " + " define " + " A as A.theString like 'A%'," + " B as B.theString like 'B%'" + ")"; EPStatement stmt = epService.getEPAdministrator().createEPL(text); SupportUpdateListener listener = new SupportUpdateListener(); stmt.addListener(listener); epService.getEPRuntime().sendEvent(new SupportRecogBean("A1", 1)); EPAssertionUtil.assertPropsPerRow( listener.getAndResetLastNewData(), fields, new Object[][] {{"A1", null, null}}); EPAssertionUtil.assertPropsPerRow(stmt.iterator(), fields, new Object[][] {{"A1", null, null}}); // since the first match skipped past A, we do not match again epService.getEPRuntime().sendEvent(new SupportRecogBean("B1", 2)); assertFalse(listener.isInvoked()); // incremental skips to next EPAssertionUtil.assertPropsPerRow(stmt.iterator(), fields, new Object[][] {{"A1", "B1", null}}); }
public void testAfterCurrentRow() throws Exception { Configuration config = SupportConfigFactory.getConfiguration(); config.addEventType("MyEvent", SupportRecogBean.class); EPServiceProvider epService = EPServiceProviderManager.getDefaultProvider(config); epService.initialize(); String text = "select * from MyEvent.win:keepall() " + "match_recognize (" + " measures A.theString as a, B[0].theString as b0, B[1].theString as b1" + " after match skip to current row" + " pattern (A B*)" + " define" + " A as A.theString like \"A%\"," + " B as B.theString like \"B%\"" + ")"; EPStatement stmt = epService.getEPAdministrator().createEPL(text); SupportUpdateListener listener = new SupportUpdateListener(); stmt.addListener(listener); runAssertion(epService, listener, stmt); stmt.destroy(); EPStatementObjectModel model = epService.getEPAdministrator().compileEPL(text); SerializableObjectCopier.copy(model); assertEquals(text, model.toEPL()); stmt = epService.getEPAdministrator().create(model); stmt.addListener(listener); assertEquals(text, stmt.getText()); runAssertion(epService, listener, stmt); }
public static void main(String[] args) { EPServiceProvider epService = EPServiceProviderManager.getDefaultProvider(); EPAdministrator admin = epService.getEPAdministrator(); // Apple定义 Map<String, Object> apple = new HashMap<String, Object>(); apple.put("id", int.class); apple.put("price", int.class); // 注册Apple到Esper admin.getConfiguration().addEventType("Apple", apple); String epl = "select avg(price) from Apple.win:length_batch(3)"; EPStatement state = admin.createEPL(epl); state.addListener(new AppleListener()); EPRuntime runtime = epService.getEPRuntime(); Map<String, Object> apple1 = new HashMap<String, Object>(); apple1.put("id", 1); apple1.put("price", 5); runtime.sendEvent(apple1, "Apple"); Map<String, Object> apple2 = new HashMap<String, Object>(); apple2.put("id", 2); apple2.put("price", 2); runtime.sendEvent(apple2, "Apple"); Map<String, Object> apple3 = new HashMap<String, Object>(); apple3.put("id", 3); apple3.put("price", 5); runtime.sendEvent(apple3, "Apple"); }
public void setUp() { Configuration config = SupportConfigFactory.getConfiguration(); epService = (EPServiceProviderSPI) EPServiceProviderManager.getDefaultProvider(config); epService.initialize(); epService.getEPAdministrator().getConfiguration().addEventType(SupportBean_S0.class); epService.getEPAdministrator().getConfiguration().addEventType(MyCountAccessEvent.class); listener = new SupportUpdateListener(); }
public void setUp() { epService = EPServiceProviderManager.getDefaultProvider(SupportConfigFactory.getConfiguration()); epService.initialize(); feedListener = new SupportUpdateListener(); resultListenerDelta = new SupportUpdateListener(); resultListenerProduct = new SupportUpdateListener(); }
protected void setUp() { Configuration config = SupportConfigFactory.getConfiguration(); config.addEventType("SupportBean", SupportBean.class); epService = EPServiceProviderManager.getDefaultProvider(config); epService.initialize(); mergeListener = new SupportUpdateListener(); }
public void setUp() { Configuration config = SupportConfigFactory.getConfiguration(); config.addEventType("Bean", SupportBean_ST0_Container.class); config.addEventType("SupportCollection", SupportCollection.class); epService = EPServiceProviderManager.getDefaultProvider(config); epService.initialize(); listener = new SupportUpdateListener(); }
public void setUp() { epService = EPServiceProviderManager.getDefaultProvider(SupportConfigFactory.getConfiguration()); epService.initialize(); if (InstrumentationHelper.ENABLED) { InstrumentationHelper.startTest(epService, this.getClass(), getName()); } updateListener = new SupportUpdateListener(); }
public void testStaticConfigDynamicTypeResolution() throws Exception { URI[] uriList = new URI[] {new URI("type://properties/test2/myresolver")}; Configuration configuration = getConfiguration(); configuration.setPlugInEventTypeResolutionURIs(uriList); epService = EPServiceProviderManager.getDefaultProvider(configuration); epService.initialize(); runAssertionCaseDynamic(epService); }
public void setUp() { Configuration configuration = SupportConfigFactory.getConfiguration(); configuration.addEventType("SupportBean", SupportBean.class); configuration.addEventType("SupportBean_S0", SupportBean_S0.class); configuration.addEventType("SupportBean_S1", SupportBean_S1.class); configuration.getEngineDefaults().getLogging().setEnableExecutionDebug(true); epService = EPServiceProviderManager.getDefaultProvider(configuration); epService.initialize(); }
public void testSkipToNextRow() { Configuration config = SupportConfigFactory.getConfiguration(); config.addEventType("MyEvent", SupportRecogBean.class); EPServiceProvider epService = EPServiceProviderManager.getDefaultProvider(config); epService.initialize(); String[] fields = "a_string,b_string".split(","); String text = "select * from MyEvent.win:keepall() " + "match_recognize (" + " measures A.theString as a_string, B.theString as b_string " + " all matches " + " after match skip to next row " + " pattern (A B) " + " define B as B.value > A.value" + ") " + "order by a_string, b_string"; EPStatement stmt = epService.getEPAdministrator().createEPL(text); SupportUpdateListener listener = new SupportUpdateListener(); stmt.addListener(listener); epService.getEPRuntime().sendEvent(new SupportRecogBean("E1", 5)); epService.getEPRuntime().sendEvent(new SupportRecogBean("E2", 3)); assertFalse(listener.isInvoked()); assertFalse(stmt.iterator().hasNext()); epService.getEPRuntime().sendEvent(new SupportRecogBean("E3", 6)); EPAssertionUtil.assertPropsPerRow( listener.getAndResetLastNewData(), fields, new Object[][] {{"E2", "E3"}}); EPAssertionUtil.assertPropsPerRow(stmt.iterator(), fields, new Object[][] {{"E2", "E3"}}); epService.getEPRuntime().sendEvent(new SupportRecogBean("E4", 4)); assertFalse(listener.isInvoked()); EPAssertionUtil.assertPropsPerRow(stmt.iterator(), fields, new Object[][] {{"E2", "E3"}}); epService.getEPRuntime().sendEvent(new SupportRecogBean("E5", 6)); EPAssertionUtil.assertPropsPerRow( listener.getAndResetLastNewData(), fields, new Object[][] {{"E4", "E5"}}); EPAssertionUtil.assertPropsPerRow( stmt.iterator(), fields, new Object[][] {{"E2", "E3"}, {"E4", "E5"}}); epService.getEPRuntime().sendEvent(new SupportRecogBean("E6", 10)); EPAssertionUtil.assertPropsPerRow( listener.getAndResetLastNewData(), fields, new Object[][] {{"E5", "E6"}}); EPAssertionUtil.assertPropsPerRow( stmt.iterator(), fields, new Object[][] {{"E2", "E3"}, {"E4", "E5"}, {"E5", "E6"}}); epService.getEPRuntime().sendEvent(new SupportRecogBean("E7", 9)); epService.getEPRuntime().sendEvent(new SupportRecogBean("E8", 4)); assertFalse(listener.isInvoked()); EPAssertionUtil.assertPropsPerRow( stmt.iterator(), fields, new Object[][] {{"E2", "E3"}, {"E4", "E5"}, {"E5", "E6"}}); stmt.stop(); }
public void setUp() { epService = EPServiceProviderManager.getDefaultProvider(SupportConfigFactory.getConfiguration()); epService.initialize(); epService .getEPAdministrator() .getConfiguration() .addImport(DefaultSupportCaptureOp.class.getName()); MyExceptionHandler.getContexts().clear(); }
public void setUp() { Configuration config = SupportConfigFactory.getConfiguration(); epService = EPServiceProviderManager.getDefaultProvider(config); epService.initialize(); epService .getEPAdministrator() .getConfiguration() .addEventType("SupportBean", SupportBean.class); epService.getEPAdministrator().getConfiguration().addEventType("ABean", SupportBean_S0.class); }
public void setUp() { listener = new SupportUpdateListener(); priceLast3StatsListener = new SupportUpdateListener(); priceAllStatsListener = new SupportUpdateListener(); volumeLast3StatsListener = new SupportUpdateListener(); volumeAllStatsListener = new SupportUpdateListener(); epService = EPServiceProviderManager.getDefaultProvider(SupportConfigFactory.getConfiguration()); epService.initialize(); }
private EPServiceProvider getEngineInitialized( String name, String[] propertyNames, Object[] propertyTypes) { Configuration configuration = SupportConfigFactory.getConfiguration(); if (name != null) { configuration.addEventType(name, propertyNames, propertyTypes); } EPServiceProvider epService = EPServiceProviderManager.getDefaultProvider(configuration); epService.initialize(); return epService; }
public void setUp() { epService = EPServiceProviderManager.getDefaultProvider(SupportConfigFactory.getConfiguration()); epService.initialize(); if (InstrumentationHelper.ENABLED) { InstrumentationHelper.startTest(epService, this.getClass(), getName()); } epService .getEPAdministrator() .getConfiguration() .addImport(DefaultSupportCaptureOp.class.getName()); }
public void setUp() { Configuration config = SupportConfigFactory.getConfiguration(); config.addEventType("Bean", SupportBean_Container.class); config.addEventType("SupportCollection", SupportCollection.class); epService = EPServiceProviderManager.getDefaultProvider(config); epService.initialize(); if (InstrumentationHelper.ENABLED) { InstrumentationHelper.startTest(epService, this.getClass(), getName()); } listener = new SupportUpdateListener(); }
public static void main(String[] args) throws InstantiationException, IllegalAccessException, ClassNotFoundException, SQLException { DOMConfigurator.configure("logger.xml"); Configuration conf = new Configuration(); conf.configure(new File("configuation.xml")); conf.getEngineDefaults().getThreading().setListenerDispatchPreserveOrder(false); conf.addEventTypeAutoName(Main.class.getPackage().getName()); init(conf); EPServiceProvider epService = EPServiceProviderManager.getDefaultProvider(conf); String statement = "CREATE WINDOW trainSet.win:length(1000) as select * from InputTuple"; epService.getEPAdministrator().createEPL(statement); statement = "INSERT INTO trainSet SELECT * FROM InputTuple"; epService.getEPAdministrator().createEPL(statement); ////////// TASK 1. Performing Naive Bayes Classification over a data stream StreamClassifier classifier = new StreamClassifier(conf); classifier.verticalizeTuples(_fieldNames); EPStatement stmt = classifier.run(_fieldNames.length + 1); /////////// TASK 2. Periodically check quality of the classifier PeriodicChecker checker = new PeriodicChecker(conf, stmt); checker.run( "2 seconds", 100, 0.9); // every two seconds test last 100 tuples to satisfy threshold 0.7 ////////// _log.info("started"); // emulate a continuous input AdapterInputSource adapterInputSource = new AdapterInputSource(new File("simulation.csv")); CSVInputAdapterSpec spec = new CSVInputAdapterSpec(adapterInputSource, "InputTuple"); spec.setEventsPerSec(400); spec.setLooping(true); spec.setUsingEngineThread(true); (new CSVInputAdapter(epService, spec)).start(); try { Thread.sleep(10000); } catch (InterruptedException e) { e.printStackTrace(); } _log.info("stopped"); }
public void setUp() { Configuration config = SupportConfigFactory.getConfiguration(); config.addEventType("S0", SupportBean_S0.class); config.addEventType("S1", SupportBean_S1.class); config.addEventType("S2", SupportBean_S2.class); config.addEventType("S3", SupportBean_S3.class); config.addEventType("S4", SupportBean_S4.class); config.addEventType("S5", SupportBean_S5.class); epService = EPServiceProviderManager.getDefaultProvider(config); epService.initialize(); listener = new SupportUpdateListener(); }
public void setUp() { listener = new SupportUpdateListener(); Configuration configuration = SupportConfigFactory.getConfiguration(); configuration.addPlugInSingleRowFunction( "power3", MySingleRowFunction.class.getName(), "computePower3"); configuration.addPlugInSingleRowFunction( "chainTop", MySingleRowFunction.class.getName(), "getChainTop"); configuration.addPlugInSingleRowFunction( "surroundx", MySingleRowFunction.class.getName(), "surroundx"); epService = EPServiceProviderManager.getDefaultProvider(configuration); epService.initialize(); }
public void setUp() { epService = EPServiceProviderManager.getDefaultProvider(SupportConfigFactory.getConfiguration()); epService.initialize(); for (Class clazz : new Class[] {SupportBean.class, SupportBean_S0.class, SupportBean_S1.class}) { epService.getEPAdministrator().getConfiguration().addEventType(clazz); } listener = new SupportUpdateListener(); if (InstrumentationHelper.ENABLED) { InstrumentationHelper.startTest(epService, this.getClass(), getName()); } }
public void testInvalid() throws Exception { Configuration configuration = getConfiguration(); epService = EPServiceProviderManager.getDefaultProvider(configuration); epService.initialize(); try { epService.getEPRuntime().getEventSender(new URI[0]); fail(); } catch (EventTypeException ex) { assertEquals( "Event sender for resolution URIs '[]' did not return at least one event representation's event factory", ex.getMessage()); } }
@Override public void contextInitialized(ServletContextEvent servletContextEvent) { PropertyConfigurator.configure( new File("D:\\server\\" + "TomcatNRG4Cast\\conf\\nrg4castApp\\log4j.properties") .toString()); // uncoment for .war deployment this.context = servletContextEvent.getServletContext(); this.context.setAttribute("instances", instance); this.context.setAttribute("predBuffer", predBuffer); // add engine instances instance.put(nrg4castEngineName, new EsperNrg4Cast(this.context)); log.info(nrg4castEngineName + " engine started"); // instance.put(nrg4castHistEngineName, new EsperNrg4CastHist(this.context)); // log.info(nrg4castHistEngineName + " engine started"); for (String s : EPServiceProviderManager.getProviderURIs()) { System.out.println("known provider uri: " + s); } // add modules to the corresponding instance try { String engineModulesList = servletContextEvent.getServletContext().getInitParameter("eplEngineModules"); String[] split = engineModulesList.split(","); for (int i = 0; i < split.length; i++) { String engineName = split[i].trim().replace("Modules", ""); String modulesList = servletContextEvent.getServletContext().getInitParameter(split[i].trim()); if (Arrays.asList(EPServiceProviderManager.getProviderURIs()).contains(engineName)) { addModules( EPServiceProviderManager.getProvider(engineName), modulesList, servletContextEvent); } else { addModules( EPServiceProviderManager.getDefaultProvider(), modulesList, servletContextEvent); } } } catch (Exception ex) { ex.printStackTrace(); } // add listeners for each engine instance for (String engine : instance.keySet()) { EsperInstance ei = instance.get(engine); ei.addListeners(); } }
public void setUp() { listener = new SupportUpdateListener(); epService = EPServiceProviderManager.getDefaultProvider(SupportConfigFactory.getConfiguration()); epService.initialize(); epService .getEPAdministrator() .getConfiguration() .addEventType("SupportBean", SupportBean.class); epService .getEPAdministrator() .getConfiguration() .addEventType("ArrayBean", SupportBeanArrayCollMap.class); }
public void testFailedValidation() { Configuration configuration = SupportConfigFactory.getConfiguration(); configuration.addPlugInSingleRowFunction( "singlerow", MySingleRowFunctionTwo.class.getName(), "testSingleRow"); epService = EPServiceProviderManager.getDefaultProvider(configuration); epService.initialize(); try { String text = "select singlerow('a', 'b') from " + SupportBean.class.getName(); epService.getEPAdministrator().createEPL(text); } catch (EPStatementException ex) { assertEquals( "Error starting statement: Could not find static method named 'testSingleRow' in class 'com.espertech.esper.regression.client.MySingleRowFunctionTwo' with matching parameter number and expected parameter type(s) 'String, String' (nearest match found was 'testSingleRow' taking type(s) 'String, int') [select singlerow('a', 'b') from com.espertech.esper.support.bean.SupportBean]", ex.getMessage()); } }
public void testObjectArrayInheritanceInitTime() { Configuration configuration = SupportConfigFactory.getConfiguration(); configuration.addEventType("RootEvent", new String[] {"base"}, new Object[] {String.class}); configuration.addEventType("Sub1Event", new String[] {"sub1"}, new Object[] {String.class}); configuration.addEventType("Sub2Event", new String[] {"sub2"}, new Object[] {String.class}); configuration.addEventType("SubAEvent", new String[] {"suba"}, new Object[] {String.class}); configuration.addEventType("SubBEvent", new String[] {"subb"}, new Object[] {String.class}); configuration.addObjectArraySuperType("Sub1Event", "RootEvent"); configuration.addObjectArraySuperType("Sub2Event", "RootEvent"); configuration.addObjectArraySuperType("SubAEvent", "Sub1Event"); configuration.addObjectArraySuperType("SubBEvent", "SubAEvent"); try { configuration.addObjectArraySuperType("SubBEvent", "Sub2Event"); fail(); } catch (ConfigurationException ex) { assertEquals("Object-array event types may not have multiple supertypes", ex.getMessage()); } EPServiceProvider epService = EPServiceProviderManager.getDefaultProvider(configuration); epService.initialize(); if (InstrumentationHelper.ENABLED) { InstrumentationHelper.startTest(epService, this.getClass(), getName()); } EPAssertionUtil.assertEqualsExactOrder( new Object[] { new EventPropertyDescriptor( "base", String.class, null, false, false, false, false, false), new EventPropertyDescriptor( "sub1", String.class, null, false, false, false, false, false), new EventPropertyDescriptor( "suba", String.class, null, false, false, false, false, false), }, ((EPServiceProviderSPI) epService) .getEventAdapterService() .getExistsTypeByName("SubAEvent") .getPropertyDescriptors()); runObjectArrInheritanceAssertion(epService); if (InstrumentationHelper.ENABLED) { InstrumentationHelper.endTest(); } }
public void setUp() { Map<String, Object> typeInfo = new HashMap<String, Object>(); typeInfo.put("id", String.class); typeInfo.put("p00", int.class); Configuration config = SupportConfigFactory.getConfiguration(); config.addEventType("MapS0", typeInfo); config.addEventType("MapS1", typeInfo); config.getEngineDefaults().getLogging().setEnableQueryPlan(true); epService = EPServiceProviderManager.getDefaultProvider(config); epService.initialize(); if (InstrumentationHelper.ENABLED) { InstrumentationHelper.startTest(epService, this.getClass(), getName()); } listener = new SupportUpdateListener(); }