2012-09-25 4 views
1

스레드 안전성 및 예외 처리가 보장 할 수없는 일부 플러그인 유형 클래스가 있습니다 (나중에 제 3 자에 의해 코딩 될 것이라고 가정 해 봅시다). 기본 응용 프로그램은 "플러그인"인터페이스를 통해서만 이러한 기능을 알 수 있으며 내부에서 수행하는 작업에 신경을 쓰지 않습니다. 예외가 발생하거나 플러그인 클래스에서 스레드 락이 발생하여 응용 프로그램이 충돌하거나 멈출 여유가없는 것을 제외하고는 플러그인 클래스는 기본 응용 프로그램에 종속되지 않고 기본 응용 프로그램에서 일부 명령을 수행합니다.예외 및 스레드 안전 샌드 박스

  1. 비동기 작업이 완료되면 인터페이스 메소드 (기본 앱에서 메소드 arg로 제공됨)를 호출합니다.
  2. 은 구성을위한 GUI를 제공합니다. (주 응용 프로그램은 JPanel 컨테이너에서이를 묻고 추가/제거합니다.)

이 작업을 수행하는 좋은 방법은 무엇입니까? 나는 실제 플러그인 방법에 대한 동기화, try-catch 호출로 래퍼를 생각하고있다. AOP 요격기를 여기에서 사용할 수 있습니까? Java에서 클래스를 샌드 박싱하는 다른 방법은 없나요?

+0

어쩌면 buckit의 생각은 "플러그인이 고장 나면 플러그인 작성자의 잘못입니다."여기에 좋은 철학이 될 것입니다 – jozefg

+0

귀하의 질문은 너무 모호합니다. 플러그인이 핵심 애플리케이션 클래스에 액세스합니까? 자체 스레드에서 실행될 수 있습니까? 아니면 플러그인 UI가 UI 스레드에서 실행되는 일부 UI 응용 프로그램입니까? –

+0

@JBNizet 업데이트 된 질문. –

답변

0

대부분의 프로세스를 보호 할 수 있지만 UI 스레드에서 플러그인의 UI를 표시하는 데 동의하면 애플리케이션이 확실히 중단 될 수 있습니다.