1
EsperIO을 사용하여 데이터베이스에서 일부 정보를로드하고 다른 조건의 다른 쿼리에서 사용하려고합니다.여러 쿼리에서 esper로 스트림 재사용
ConfigurationDBRef dbConfig = new ConfigurationDBRef();
dbConfig.setDriverManagerConnection("org.postgresql.Driver",
"jdbc:postgresql://localhost:5432/myDatabase",
"myUser", "myPassword");
Configuration engineConfig = new Configuration();
engineConfig.addDatabaseReference("myDatabase", dbConfig);
// Custom class
engineConfig.addEventType("UserFromDB", UserDB.class);
EPServiceProvider esperEngine = EPServiceProviderManager.getDefaultProvider(engineConfig);
String statement = "insert into UserFromDB "
+ " select * from sql:myDatabase ['SELECT * from data.user']";
//Install this query in the engine
EPStatement queryEngineObject = esperEngine.getEPAdministrator().createEPL(statement);
// 1. At this point I can iterate over queryEngineObject without problems getting the information sent by database
// This query is only a 'dummy example', the 'final queries' are more complex
statement = "select * from UserFromDB";
EPStatement queryEngineObject2 = esperEngine.getEPAdministrator().createEPL(statement);
// 2. If I try to iterate over queryEngineObject2 I receive no data
이 어떻게 다른 쿼리의 UserFromDB 저장된 정보를 다시 사용할 수 있습니다 : 나는 다음과 같은 코드를 사용하고 그것을하려면? (위의 예에서 의 queryEngineObject2)
감사합니다,이 경우 내 오류가 나는 "잊었다"의 결과를 관리 할 수있는 수신기를 포함하는 것입니다 두 번째 성명. 다른 for/while 루프를 사용하여 수행 할 수 없으며 두 번째 문장을 직접 반복합니다. – doctore