프로세스 팩토리

실행 구성이 프로그램을 실행할 때 요청된 모드에서 실행 가능 프로그램을 호출할 책임이 있습니다. 실행에 대한 구현은 각 실행 구성의 특정 사항에 종속되지만 대부분의 플러그인은 명령행을 빌드하고 프로그램을 시작하기 위한 런타임 실행을 호출합니다. DebugPlugin 클래스는 런타임 실행 호출 및 가능한 예외 처리를 위한 편리한 메소드를 구현합니다. 클라이언트는 실행을 위한 명령행 및 작업 디렉토리를 지정할 수 있습니다.

Process p = DebugPlugin.exec(cmdLine, workingDirectory);

실행 프로그램에 대한 java.lang.Process가 작성된 후에는 디버그 플러그인에 의해 관리되어야 합니다. 초보자의 경우 프로세스가 실행된 프로그램을 표시하는 ILaunch와 연관되어야 합니다. 디버그 플러그인은 시스템 프로세스를 위한 랩퍼인 IProcess를 정의하는 데, 이를 사용하여 클라이언트가 연관된 ILaunch를 액세스하고 고유 이름 지정된 속성을 프로세스로 지정할 수 있습니다. 또한 IProcess는 프로세스에 대한 레이블을 정의하고 클라이언트에 시스템 프로세스의 입력, 출력 및 오류 스트림에 대한 액세스를 제공하는 프로세스에 IStreamsProxy를 연관시킵니다. 이 프로세스 랩퍼는 또한 DebugPlugin의 유틸리티 메소드를 사용하여 작성할 수도 있습니다.

IProcess process= DebugPlugin.newProcess(launch, p, "My Process);

이름 지정된 속성의 맵도 제공할 수 있습니다.

많은 플러그인은 간단히 시스템 프로세스 실행 및 IProcess에 줄 바꾸기 하기 위해 DebugPlugin의 유틸리티 메소드에 의존할 수 있습니다. 랩퍼 작성에서 추가 제어가 필요한 플러그인의 경우 프로세스 팩토리를 실행 구성과 연관시킬 수 있습니다. 프로세스 팩토리는 플러그인의 특수한 수요를 만족시키는 IProcess를 작성하는 데 사용됩니다. 프로세스 팩토리는 ID로 참조되며, 실행 구성의 DebugPlugin.ATTR_PROCESS_FACTORY_ID 속성에 저장되어야 합니다.

프로세스 팩토리 ID와 이를 구현하는 클래스 사이의 연관은 org.eclipse.debug.core.processFactories 확장점을 사용하여 작성됩니다.

다음 예제는 Ant 플러그인이 실행을 위한 프로세스 팩토리를 설정하는 방법을 보여줍니다.

<extension point="org.eclipse.debug.core.processFactories">
	<processFactory
		class="org.eclipse.ant.internal.ui.launchConfigurations.RemoteAntProcessFactory"
		id="org.eclipse.ant.ui.remoteAntProcessFactory">
	</processFactory>
   </extension>   

등록 플러그인은 적절한 실행 구성 속성에 프로세스 팩토리 ID를 저장합니다.