java TimerTask Scheduler Application에서 작업 중입니다. 나는 스케줄러로 실행되는 서비스로 메인 클래스가 있습니다.TimerTask 응용 프로그램 설계 문제
I과 같이 일정 시간에 실행을 위해 사용되는 TaskSchedule() extends TimerTask
클래스 가지고 TaskSchedule
생성자 내부
timer.scheduleAtFixedRate(new TaskSchedule(), ...)
내가 페치 및 데이터베이스의 값을 갱신하기위한 데이터베이스와 상호 작용하는 dataHelper
클래스가있다. TaskSchedule
클래스에서 TimerTask의 run
메서드를 재정의했습니다. 그리고 실행 방법 안에 나는 같은 매개 변수와 데이터베이스 도우미 전화 호출 오전 : 여기
@Override
public void run(){
dataHelper.fetchDataFromDB(?)
}
나는 내가 디자인에 갇혀 있어요 경우, 배치 한 질문을. 이 매개 변수를 데이터베이스 동적으로 유지하고 싶습니다.
한 솔루션 내가 생각의이다 : TaskScheduler에 서비스에서 dataHelper에 걸쳐 데이터베이스 매개 변수를 전달
. 하지만 디자인 수준에서 더 나은 솔루션을 찾고 있습니다.