2014-12-23 4 views
0

여기서 트리거 이벤트 란 무엇입니까?Esper IO 이해 HTTP 예제

이벤트를 가져 오는 데 EsperEngine을 연결하는 방법은 무엇입니까?

어떤 URI를 전달해야합니까? engineURI은 어떻게 생겼습니까?

에스퍼 엔진의 원격 위치입니까?

 ConfigurationHTTPAdapter adapterConfig = new ConfigurationHTTPAdapter(); 

     // add additional configuration 
     Request request = new Request(); 
     request.setStream("TriggerEvent"); 
     request.setUri("http://localhost:8077/root"); 
     adapterConfig.getRequests().add(request); 

     // start adapter 
     EsperIOHTTPAdapter httpAdapter = new EsperIOHTTPAdapter(adapterConfig, "engineURI"); 
     httpAdapter.start(); 

     // destroy the adapter when done 
     httpAdapter.destroy(); 

HttpEventsTriggerEvents에서 스트림을 변경하고 나는이 예외는

ConfigurationException: Event type by name 'HttpEvents' not found

은 "engineURI"

답변

0

아래에 주어진 얻을 CEP 엔진 인스턴스의 이름이며, EsperIO 함께 할 수 없다 http 전송. 어떤 엔진이 있는지 찾아보고 이름으로 엔진을 찾는 이름입니다. 따라서 여기에 모든 텍스트를 사용할 수 있으며 기본 CEP 엔진을 할당 할 때 기본 CEP 엔진의 이름은 "default"로 지정됩니다.

http를 통해 받으려는 이벤트의 이벤트 유형을 정의해야합니다. 샘플 코드가 있습니다 http://svn.codehaus.org/esper/esper/trunk/esperio-socket/src/test/java/com/espertech/esperio/socket/TestSocketAdapterCSV.java

+0

'request.setStream (*****)'에 무엇을 전달해야합니까? – pamu

+0

EsperIO http 예제에 대한 링크를 제공해 주실 수 있습니까? – pamu

0

Java 또는 Esper의 EPL 문을 사용하여 이벤트 유형을 선언해야합니다. 예외가 발생하는 이유는 유형이 정의되지 않았기 때문입니다. 그런 다음 HTTP 요청에서 보내는 유형을 지정하여 이벤트 보내기를 시작할 수 있습니다. 자바

import urllib 
cepurl = "http://localhost:8084" 

param = urllib.urlencode({'stream':'DataEvent', 
'date': datetime.datetime.utcnow().strftime("%Y-%m-%dT%H:%M:%SZ"), 
       'src':data["ipsrc"], 
       'dst':data["ipdst"], 
       'type':data["type"]}) 

# sending event: 
f = urllib.urlopen(cepurl + "/sendevent?" + param); 
rez = f.read() 

이 아마 이런 일이 될 것입니다 : 예를 들어, 다음 파이썬 코드의 비트입니다 = 새로운 SupportHTTPClient

SupportHTTPClient 클라이언트(); client.request (8084, "sendevent", "stream", "DataEvent", "date", "mydate");