2012-10-04 3 views
1

메모리 대기열에서 폴링하고 대기열에서 항목을 소모하려고하는 장기 실행 자바 프로세스를 작성 중입니다. 사육사를 사용하여이 서비스에서 동적 구성을 원합니다. 스레드를 실행하고 사육사 노드를 감시하는 java 클래스를 작성했습니다. 사육사 노드가 변경 될 때마다 이벤트가 발생하고 사육사 노드 데이터의 새로운 내용이 표시됩니다. 이제 질문은 :장기 실행 자바 프로세스 구성 시스템

    znode 데이터의 인코딩해야한다 무엇
  1. 는, 하나의 옵션에 설정 클래스에 .properties의 그 키를 시스템 그래서 그냥 키 값 쌍과 같은 파일을 다음 내 리스너에 설정된 사용하는 것입니다 변화.

  2. 이 데이터를 파일에 기록한 다음 해당 구성 파일을 내 Java 프로그램에 포함시키는 것이 합리적입니까? 이 방법으로 가면 설정이 바뀌면 어떻게 든 디스크의 내용을 새로 고쳐야합니다. 필자는 이러한 설정을 로컬 파일에 기록 할 때 특별한 이점을 얻지 못합니다. 사육사 서버에는 충분한 중복성이 있으며 서비스가 반송 될 때 구성 새로 고침 스레드는 해당 z 노드에 대한 모든 데이터를 가져올 수 있습니다.

+0

기록을 위해, 많은 장기 실행 시스템은 SIGHUP 신호를 수신하고 수신 할 때 설정을 재실행하는 방식으로 작성됩니다. – Wug

답변

1

1) 등록 정보 파일이 정상적으로 작동합니다. java.util.Properties에는, 스트림로부터로드 및 보존하기위한 편리한 메소드가 있습니다. 당신은 yaml 파일에 설정을 저장하는 것을 보길 원할 것입니다, 이것은 단순한 키/값 쌍 이상을 허용합니다.

2) 설정 정보를 두 곳에 저장해야 할 이유가 없습니다. 그렇다면 실제 설정 파일이 혼동 스럽습니다.

관련 문제