실시간 이벤트 처리 방법(Esper 사용법)
조회수 305 답변수 0 반응수 0 등록일 2018.12.14 10:06:08

java 에서 실시간으로 데이터를 입력하는 내용을 만들기 위해 알아보았습니다만... 방법을 잘 몰라서 ; 질문을 드리고자 합니다.


1.실시간 이벤트를 사용 하는 방법은 spark streaming, Esper 이 있는 것으로 알고 있는데요. 이 이외에 다른 쉬운 방법이 있나요?

2.Esper 에서 실시간 이벤트 사용 방법을 모르겠습니다.

본 사이트 : http://www.espertech.com/

설명서 : http://www.espertech.com/esper/esper-documentation/

설명 사이트

http://www.notforme.kr/archives/579

http://javacan.tistory.com/entry/Esper-Beginner-1-Quick-Start

http://sungsoo.github.io/2014/01/02/overview-of-esper.html

gitHub 적용 사이트

https://github.com/not-for-me/EsperStudyProject

https://github.com/espertechinc/esper

EPL 실험 해볼 수 있는 사이트

http://esper-epl-tryout.appspot.com/epltryout/mainform.html

를 참조해서 만들어 보았습니다.

public void EesperExample2(UserInfoDto udto) {

Configuration config = new Configuration();

config.addEventType("SearchYoutubeVo", SearchYoutubeVo.class.getName());

EPServiceProvider epService = EPServiceProviderManager.getDefaultProvider(config);


String epl = "select * , count(*) from SearchYoutubeVo.win:time(5 minutes)";

List<SearchYoutubeVo> vo;

EPStatement statement = epService.getEPAdministrator().createEPL(epl);

ExampleListener example = new ExampleListener();

statement.addListener(example);

int EventCreateNum = 5;


//for(int i = 0; i < EventCreateNum; i++ ){

try {

vo = youtubeSearchService.searchYoutube(udto);

} catch (Exception e1) {

// TODO Auto-generated catch block

e1.printStackTrace();

}

try { Thread.sleep(500); } catch (InterruptedException e) { e.printStackTrace(); }

//}

}


public class ExampleListener implements UpdateListener {

public void update(EventBean[] newEvents, EventBean[] oldEvents) {

EventBean event = newEvents[0];

System.out.println("Avg Rating of NFM = " + event.get("viewCount") + " Total Count: " + event.get("videoId"));

System.out.println(event.get("count(*)"));

}

}

'vo = youtubeSearchService.searchYoutube(udto);' 는  youtube 키워드를 입력해서 이를 가지고오는 내용입니다.

'UserInfoDto udto' 유저의 관련된 정보를 가지고 오는 것입니다.

그런데 제가 하고 싶은 것은 처음에  youtubeSearchService.searchYoutube(udto); 사용해서 데이터를 가조고온 후, 5분 간격으로 데이터를 가지고 오고 싶은 것인데.... 방법을 전혀 모르겠습니다.


그런데 ExampleListener  는 전혀 실행되지 않고 있습니다.

답변 작성

질문에 적합한 답변을 상세히 작성해 주시기 바랍니다.

답변이 찬성되면 태그평판 +2점이 적립, 반대되면 태그평판 -1점 차감됩니다.

답변이 채택되면 태그평판 +10점이 적립됩니다.

etc 게시판 정보
  • 118
    질문수
  • 3
    아카이브수
  • 44
    채택수
  • 0
    멤버수
etc 질문 통계
최근 30일
답변율
0%
채택율
0%
전체
답변율
49%
채택율
37%