2011-12-09 2 views
1

내 RCP 응용 프로그램에는 데이터베이스 쿼리를 통해 내용을 채우는 5 개의보기가 포함되어 있습니다.eclipse rcp보기에서 시간 소비 작업을위한 모범 사례

문제는 응용 프로그램 시작이 데이터베이스 쿼리에 완전히 의존한다는 것입니다. 또한 기본 db가 닫히면 응용 프로그램 시작 시간이 너무 오래 걸립니다.

db를 컨텐츠 소스로 사용하는 eclipse rcp 뷰의 모범 사례는 무엇입니까? 보기를 채우기 위해 별도의 스레드를 사용하고 있습니까?

답변

3

코드를 업데이트하는 모든 코드를 UIJob으로 이동 한 다음 일정을 설정하십시오. 사용자는 RCP에 포함되어있는 경우 진행보기에서 이러한 작업의 진행 상황을 확인할 수 있습니다. 또한 하나의 UIJob이 하나의보기를 처리합니다.

+0

모든 db/레코드 처리에 대해 '작업'을 사용하고 싶습니다. UIJob은 UI 스레드를 차단하므로 UIJob은 UI 변경 사항을 UI 스레드에 게시하기위한 것입니다. –

+0

@ paul-webster,이 아키텍처는 논리적으로 보입니까? 백그라운드 작업은 db 액세스를 처리하고 관련 모델을 채 웁니다. 그러면 뷰 객체는 채워진 모델 객체를 기반으로 화면을 그립니다. – ygk

+0

예, 일반적인 패턴입니다. UI 업데이트 작업 또는 runnables를 작고 빠르게 만들고, 대부분의 작업을 일반'Job'에서하십시오. –