2016-07-06 7 views
0

Java 응용 프로그램이 이미 실행되고 있는지 확인하고 인스턴스가 있으면 인스턴스를 가져올 수 있습니까? 처음에는 클릭 한 번으로 프레임이 열리 며 그 후에 (닫힐 때까지) 항아리가 있습니다. 프레임을 가져 와서 개체를 추가합니다. 또한 메인 애플리케이션에 close() 메소드가 없어도 작동해야하므로 응답이 없거나 작업 관리자로 닫힌 경우 다시 열 때 애플리케이션이 다시 작동합니다.이미 실행중인 경우 동일한 Java 응용 프로그램의 인스턴스 가져 오기

+1

이 페이지의 오른쪽에있는 "관련"섹션의 링크를 확인 했습니까? – assylias

+0

예, 앱이 이미 실행 중인지 확인할 수있는 몇 가지 방법을 찾아 냈습니다. 하지만 나는 또한 2 가지 추가 방법을 요구하고있다. –

답변

1

Java 응용 프로그램은 다른 프로세스에서 작동합니다.

두 개의 서로 다른 프로세스 (이미 실행중인 응용 프로그램과 새 응용 프로그램) 간에는 상호 작용이 쉽지 않습니다.

당신이 할 수있는 일은 프로세스 간 통신 메커니즘을 찾아서 사용하는 것입니다. inter process communications 파일 또는 공통 데이터베이스를 사용합니다.

Java 응용 프로그램을 실행중인 현재 주 스레드의 ID를 저장할 수 있습니다.

새 프로세스가 시작되면 이미 실행중인 응용 프로그램이 있는지 확인하십시오. 예인 경우, 동일한 (또는 새) 프로세스 간 통신 시스템을 사용하여 주 프로세스가 업데이트해야하는 정보를 보낼 수 있습니다. 그런 다음 2 차 과정은 스스로를 죽입니다.