2014-01-21 2 views
1

다른 처리와 병렬로 실행되는 스케줄러 구현에 도움이 필요합니다. 나는 웹상에서 많은 검색을 위해 quartz scheduler을 찾았다. 하지만, 나는 내장되어 있고 다른 프로세스와 동시에 실행할 수 있으며, 외부 라이브러리가 아닌 다른 것들을 필요로합니다.Java의 스케줄러

나는 scheduleAtFixedRate으로 확인했습니다. 그러나 이것은 병렬 실행을위한 옵션이 아닙니다.

누구든지이 점에 대해 제안 할 수 있습니까 ?? 내 요구 사항은 자바 함수는 서버가 시작된 후 곧 모든 고정 간격으로 실행되어야한다는 것입니다. 이것은 서블릿 시작에서 알 수 있으며 init()에서 스케줄러를 시작해야합니다.

+0

석영이 좋습니다. –

+0

"병렬 실행"이란 정확히 무엇을 의미합니까? 집행자는이를 수행하도록 구성 할 수 있습니다 (AFAIK). – Fildor

+1

당신은 서블릿에 대해 이야기하고 있으므로 JEE를 다소 사용하고있는 것 같습니다. EJB 타이머 서비스를 사용하지 않는 이유는 무엇입니까? http://docs.oracle.com/javaee/7/tutorial/doc/ejb-basicexamples004.htm –

답변

4

내 요구 사항은? 여기 java.util.Timer.을 좋은 link on usage of Timer class.되어 사용할 수 있습니다, 자바 기능은 서버가 우선

  • 를 시작한 후 곧 모든 고정 간격으로 실행해야한다는 것입니다
  • 석영 스케쥴러를 사용하는 것이 항상 좋은 방법이지만, 타이머는 빠른 시작 방법입니다. 사용을 시작하기위한 도움을 얻을 수 있습니다. Quartz Scheduler in Java
  • 또는 ScheduledExecutorService in java을 선택할 수도 있습니다. 나는 당신이 ServletContextListener 정의, 그 contextInitialized 방법에서 석영 스케줄러를 시작하는 것이 좋습니다 java.util.Timer
+0

안녕하세요, 1. java.util.timer를 사용하여 동시성을 사용할 수 있습니까? 2. 내 소스에서 외부 라이브러리를 사용하고 싶지 않으므로 쿼츠는 옵션이 아닙니다. 3. 나는 그것을 검사했다. 마찬가지로, 질문 자체에서 언급했습니다. –

+1

예, Timer는 (동시에 실행되는) 새 스레드를 생성합니다. 나는 요구 사항에 따라 쿼츠를 추가 옵션으로 언급했다. 그러한 요구 사항이 없다면 집행자 또는 타이머로 이동하십시오. –

+0

타이머에 대해 자세히 설명해 주시겠습니까 ?? 몇 가지 예를 들어 보겠습니다. 웹에서 충분히 찾을 수 없습니다. –

0

이상이 옵션을 선호 할 것입니다.

contextInitialized은 응용 프로그램 서버에서 응용 프로그램 배포/다시로드시 호출되므로 스케줄러를 soon after the server starts으로 초기화 할 수 있습니다.

+0

이 경우 외부 라이브러리를 사용하고 싶지 않습니다. 제발 자바에서 뭔가 inbuilt 제안하고 내 요구 사항에 사용할 수 있습니까 ?? –