최대 규모의 전자 상거래 시스템에 가장 작은 독립 실행 형 응용 프로그램에서 -
석영은 거의 모든 자바 EE 또는 Java SE 응용 프로그램을 통합, 또는 측면을 따라 사용할 수있는 오픈 소스와 자유, 완전한 기능을 갖춘 작업 스케줄링 서비스 .
석영은 수십, 수백, 또는 수만명의 작업의 실행을위한 단순하거나 복잡한 일정을 만들 수 있습니다; 그의 작업 당신이 할을 프로그램 할 수 있습니다 거의 아무것도 실행 할 수 표준 자바 구성 요소로 정의 된 작업. Quartz 스케쥴러는 JTA 트랜잭션 및 클러스터링 많은 엔터프라이즈 급 기능이 포함되어 있습니다.
특징 :
런타임 환경 :
석영은 다른 자유로운 서있는 응용 프로그램에 내장 실행할 수 있습니다
석영은 응용 프로그램 서버 (또는 서블릿 컨테이너) 내에서 인스턴스화하고, XA 트랜잭션에 참여 할 수있다
석영이 (자신의 자바 가상 머신 내에서) 독립 실행 형 프로그램으로 실행할 수 있습니다, RMI를 통해 사용되는
석영 (부하 균형 및 페일 오버 기능)를 독립 실행 형 프로그램의 클러스터로 인스턴스화 할 수
작업 스케줄링 :
작업은 주어진 트리거가 발생했을 때 실행 예정이다. 트리거는 다음과 같은 지침의 거의 모든 조합을 만들 수 있습니다 ...
하루 중 특정 시간 (밀리 초)
특정 요일에
매월 특정 일에
올해의 특정 일에
하지 등록 된 일정 내에서 나열된 특정 요일에 (예 : 비즈니스 휴일 등)
특정 횟수 반복
특정 시간 / 날짜 될 때까지 반복
무한 반복
지연 간격으로 반복
이 릴리스의 새로운 기능 :
가장 중요한 API 변경의 개요 :
반환 (또는 매개 변수로 소요) 배열은 지금 반환 (또는 수행) API 메소드는 컬렉션을 입력했습니다. 예를 들어, 오히려 getJobGroupNames () 이상 : 문자열 [] 우리가 지금 getJobGroupNames ()를 가지고 : 목록
작업과 트리거 식별은 지금 JobKey과 TriggerKey을 기반으로합니다. 키의 이름과 그룹 모두를 포함한다. 특정 작업에서 작동 방법 / 이제 매개 변수로 키을 트리거합니다. 예를 들어, getTrigger (TriggerKey 키) : 트리거, 오히려 getTrigger보다 (문자열 이름, 문자열 그룹) : 트리거.
트리거는 오히려 클래스보다, 지금 인터페이스입니다. 마찬가지로 등 SimpleTrigger, CronTrigger에 대한
새로운 DSL / 건설 작업과 트리거에 대한 빌더 기반의 API :
날짜를 쉽게 건설 관련 TriggerUtils에서 방법이 새로운 DateBuilder 클래스로 이동되었습니다, 그 멋지게 트리거 시작 및 종료 시간 등을위한 날짜 인스턴스를 생성하는 정적 수입 사용할 수 있습니다
StatefulJob 인터페이스는 작업 클래스에 대한 새로운 클래스 수준의 주석 (모두 주석을 사용하여 이전 StatefulJob 인터페이스의 동등한 생산) 대신 사용되지 않습니다 :
ersistJobDataAfterExecution는 - 실행이 완료된 후 작업의 JobDataMap 내용을 다시 저장하기 위해 스케줄러를 지시합니다.
isallowConcurrentExecution는 -가 이미 때의 실행 (JobKey에 의해) 동일한 작업의 다른 인스턴스를 차단하기 위해 스케줄러를 지시합니다.
새로운 주석 : @ExecuteInJTATransaction. 작업 클래스에이 주석을 추가하면 (/ 완료 / 예외 후 롤백을 커밋) 작업을 실행하기 전에 JTA 트랜잭션을 시작 석영을 지시합니다. 버전 1.x에서 구성 등록 정보 'wrapJobExecutionInUserTransaction'는 여전히 존재하지만 구성 속성은 모든 작업에 영향을하면서 새로운 주석, 당신 조정 작업 당에 동작을 할 수 있습니다.
JobListener과 TriggerListener의 사용에 중대한 변화 :
"글로벌"과 "비전"청취자 사이의 구별 제거
청취자가 작업 / 그들이 관심있는 트리거를 식별하는 대신 JobDetails 및 트리거는 더 이상 통지하는 청취자의 이름 목록으로 구성되지 않습니다.
작업 / 그들이에 대한 이벤트를 수신하고자하는 트리거에 대한 일치하는 규칙을 제공 - 청취자는 지금 매처 인스턴스의 집합을 할당됩니다.
청취자는 지금이 아니라 직접 스케줄러 API를보다 ListenerManager API를 통해 관리됩니다.
SchedulerException 클래스와 클래스 계층 구조가 정리되고있다.
DateIntervalTrigger는 CalendarIntervalTrigger로 이름이 변경 (또는 더 정확하게 구체적인 클래스는 지금 CalendarIntervalTriggerImpl입니다)했다.
작업과 트리거의 "변동성"의 개념 (속성) 제거되었습니다.
새로운 트리거 실화 지시 MISFIRE_INSTRUCTION_IGNORE_MISFIRE_POLICY는 트리거가 선택적 모든 실화 처리에서 무시되는 방식으로 구성 될 수 있습니다. 즉,이 특별한 핸들링, 즉시이 할 수있는 발광합니다 - 특히 원샷 많이 가지고 설정과 성능 향상을위한 최고의 선택을 (비 반복) 트리거합니다.
오히려 다음 화재 시간보다, 트리거의 키를 비교한다는 점에서 트리거의은 compareTo () 메소드는 올바르게, () 메소드의 같음에 관한 것이다. 화재 시간에 따라 트리거를 정렬 새로운 비교기는, 우선 순위 및 키 Trigger.TriggerTimeComparator으로 추가되었다.
새로운 기능 :
Scheduler.clear () 메소드는 스케줄러에서 모든 작업, 트리거 및 캘린더를 제거하는 편리한 (위험!) 방법을 제공합니다.
Scheduler.scheduleJobs 방법은 작업과 트리거의 편리한 대량 추가 제공 (지도 triggersAndJobs는 대체 boolean)를.
Scheduler.unscheduleJobs (목록 triggerKeys) 방법은 작업의 편리 대량 unscheduling을 제공합니다.
Scheduler.deleteJobs (목록 jobKeys) 방법은 작업 (및 관련 트리거)의 편리한 대량 삭제를 제공합니다.
Scheduler.checkExists (JobKey jobKey)과 Scheduler.heckExists (TriggerKey triggerKey) 방법은 이전에 반대 이름으로 작업 / 트리거를 검색 한 후 결과 여부를 확인 할 필요없이 가지고 작업 / 트리거 키의 고유성을 (결정하는 편리한 방법을 제공합니다 NULL).
JDBCJobStore 해주기 테이블의 하나의 세트가 별개의 다중 인스턴스를 스케줄러에 의해 사용될 수 있도록
JDBCJobStore 해주기 (선택적으로) 정의 트리거 유형의 구현에 의해 구현 될 수있는 새로운 TriggerPersistenceDelegate 인터페이스의 사용을 통해, BLOB 컬럼을 사용하지 않고 비 핵심 트리거 구현을 저장할 수있다.
JDBCJobStore 지금은 사이베이스와 함께 향상된 호환성을 위해 SybaseDelegate를 포함
크론 표현식은 지금 "달의 마지막 날"과 표현 "월의 마지막 주말"에 대한 오프셋을 지정할 수있는 기능도 지원합니다. 예를 들면 다음과 같습니다 (삼일 다시 달의 마지막에서) "L-3"또는 "L-3W"(삼일 다시 달의 마지막 날에서 하루에 가장 가까운 평일).
일정 데이터가 포함 된 XML 파일은 이제 (응용 프로그램 / 시작 배포 한 후 약간의 시간이 발사 시작해야 트리거에 유용) 파일이 처리되는 시점에서 미래에 오프셋으로 시간을 트리거 지정을 시작하는 방법이있다.
스키마 :
XML 파일의 스키마는 이제 트리거의 '우선 순위'속성을 지정 지원합니다.
QuartzInitializerListener (그리고 QuartzInitializerServlet)가 새 매개 변수를 지원합니다 "대기 -에 - 종료", 스케줄러는 서블릿 컨테이너가 해제 배포 응용 프로그램을 때, 종료하기 전에 완료하는 작업을 실행하기 위해 대기시킬 것이다.
석영과 그 선박이 핵심 작업에 DirectoryScanJob을 추가, 또한 FileScanJob 존재를 사전에 최소 연령 매개 변수를 추가했다.
자바 EE 웹 응용 프로그램 내에서 석영을 초기화 QuartzInitializerListener 또는 QuartzInitializerServlet를 사용할 때 SchedulerContext로의 ServletContext를 추가 할 수있는 기능을 추가했습니다.
기타 :
(이에 제한되지 않음)을 포함하여 다양한 성능 향상 :
매우 바쁜 스케줄러의 성능 향상을 제공 할 수 있습니다 발사 준비가 일괄 취득 트리거, 능력
일괄 추가하는 방법은 / 작업과 트리거의 제거 ( "새로운 기능"을 참조하십시오)
트리거는 새로운 실화 명령 옵션, MISFIRE_INSTRUCTION_IGNORE_MISFIRE_POLICY, 당신이 당신의 트리거 (들)에 대한 처리 불발을 필요로하고, 성능 향상을 활용하지 않으려는 경우 유용 할 수있다
다양한 버그 수정, 전체 목록 락스에서 릴리스 노트를 참조하십시오 https://jira.terracotta.org/jira/secure/ReleaseNote.jspa?projectId=10282&version=10842
DBCP가 더 이상 데이터베이스 연결 풀링에 사용되는, C3PO 대신 사용되지 않습니다.
JobFactory 구현은 이제 스케줄러 (전달) 핸들로 초기화됩니다.
모든 예? 예에 포장? 석영 분포의 디렉토리는 작업과 트리거를 정의하기위한 새로운 API (증명)을 사용하도록 업데이트되었습니다.
버전 1.6.6의 새로운 기능 :
몇 가지 중요한 버그 수정
몇 가지 사소한 개선
요구 사항 :
자바 2 스탠다드 에디션 런타임 환경
댓글을 찾을 수 없습니다