2011-01-18 1 views
2

Java EE6 응용 프로그램 내에서 Twitter streaming API으로 장기 실행 연결을 만들고 장애 발생시 연결을 모니터링하고 다시 설정할 수 있어야합니다.Java EE 응용 프로그램에서 Twitter 스트리밍 API에 대한 장기 실행 연결 관리

다음과 같이 Jersey JAX-RS 및 OAuth를 사용하여 테스트를 실행했습니다. 그러면 원하는대로 스트리밍 데이터를 처리합니다.

WebResource resource = client.resource(STATUS_URI); 
resource.addFilter(oauthFilter); 
ClientResponse clientResponse = resource.get(ClientResponse.class); 
InputStream is = clientResponse.getEntityInputStream(); 
BufferedReader r = new BufferedReader(new InputStreamReader(is, "UTF8")); 
boolean more = true; 
while (more) { 
    String jsonTweet = r.readLine(); 
    //send tweet to JMS queue 
    ..... 
} 

내가 '@PostConstruct'싱글에서 위의 코드를 실행하는 방법을 시도했지만 차단 및 응용 프로그램이 제대로로드되지 않습니다.

제 질문은 응용 프로그램을 시작할 때 Java EE 환경에서 연결을 초기화 한 다음 새 스레드를 직접 만들지 않고 오류를 모니터하고 다시 연결하는 것이 좋습니다.

답변

0

당신은 싱글의 MBean (JBoss의 특정 구현)을 만들 @Service을 사용할 수 있습니다

  • 응용 프로그램 시작에 자바 EE 환경 내에서 연결을 초기화하는 방법을 권장하지만, 여전히 나는 @Startup를 선호 & 을 사용하여 서버와의 이식성을 위해 애플리케이션을 배포 할 때 작업을 완료하십시오.

모니터 + 직접 새로운 스레드를 생성하지 않고 오류를 재 - 연결?

  • ThreadPoolExecutor입니다 : 풀 된 복수의 스레드 중 하나를 사용하여 각 제출 된 작업을 실행하는 ExecutorService입니다은 일반적으로 집행 인 팩토리 메소드를 사용하여 구성. 나는 그것이 EJB 내에서 집행 인을 사용하는 사양에 대해 알았는데 예외에

, 작업이 서비스를 집행하기 위해 다시 제출 될 수 있으며, 작업 등

+0

연결을 다시 연결, 모니터링의 포함 할 수있다? – Phill

+0

예, 간섭을 일으킬 수 있지만 사용하면 잘 처리해야합니다. 또한 JMS를 동일한 목적으로 사용할 수 있습니다. –

관련 문제