2015-01-22 12 views
2

소셜 네트워크 (트위터, 페이스 북 등)에서 사용자의 라이브 스트림을 수집해야하는 프로젝트를 진행 중입니다. Twitter Users Streams Api을 사용하여 등록 된 사용자로부터 실시간 트윗 업데이트를 받고,이 업데이트를 분석 한 다음 결과를 데이터베이스에 저장하고 싶습니다.스프링 소셜을 사용하는 실시간 트위터 스트림

저는 사용자를 등록하기 위해 스프링 프레임 워크를 사용하고 있으며 라이브 트윗을 얻기 위해 스레드 수신기를 등록하려고합니다. 스프링 프레임 워크에서 가능합니까? 그렇다면 어떻게해야합니까? Google 검색에서 유용한 정보를 찾을 수 없습니다. 그렇지 않은 경우 가장 좋은 방법은 무엇입니까?

+0

자신을 롤링하는 대신 Spring XD (또는 적어도 스프링 통합)를 살펴볼 수 있습니다. –

답변

4

가능합니다. 먼저 연결을 얻어야합니다. 코드는 다음과 같습니다.

StreamListener listener = new StreamListener() { 
     @Override 
     public void onTweet(Tweet tweet) { 
      logger.info("new tweet coming in"); 
     } 

     @Override 
     public void onDelete(StreamDeleteEvent deleteEvent) { 
       logger.debug("delete event called on stream");); 
     } 

     @Override 
     public void onLimit(int numberOfLimitedTweets) { 
       logger.debug("stream is being track limited"); 
     } 

     @Override 
     public void onWarning(StreamWarningEvent warningEvent) { 
       logger.debug("warning from twitter"); 
      } 
     } 
    }; 
    Connection<Twitter> connection = getCurrentConnection(); 
    // this will open the stream 
    Stream stream = connection.getApi().streamingOperations() 
      .filter("filter", Arrays.asList(listener));