2013-06-04 3 views
0

기본적으로 다른 Java 프로세스가 있으므로 간단하게하기 위해 Test.jar이라고 부릅니다. 나는 Program.jar이라고 부를 수있는 다른 프로그램을 가지고있다. 내 목표는 내 컴퓨터에서 Test.jar를 실행할 수 있도록하는 것입니다. 그런 다음 Program.jar 내부에서 Test.jar이 실행되고 있지 않거나 발견되지 않으면 Test.jar에 대한 올바른 프로세스를 찾고 감지 할 수 있기를 원합니다. Test.jar를 시작하고 리플렉션 또는 유사한 것으로 조작 할 수있는 일종의 메시지를 표시합니다. 기본적으로 다른 Java 프로세스에 연결합니다.다른 Java 프로세스에서 리플렉션 사용

이것이 가능합니까? 누구든지 정보가있는 리소스를 알고 있습니까? 감사합니다

좋아, 그래서 XY 문제에 대한 게시물에 대해. 나는 그것을 더 분명하게 할 것이다.

인증을 받아야하는 클라이언트가 있습니다. 일단 로그인하면 클라이언트는 컴퓨터에서 계속 실행되고 있으며 클라이언트에 연결되어 특정 호스트에 연결하도록 지시하는 타사 프로그램을 작성해야합니다 (이미있는 방법을 사용하여 가능할 수도 있음) 클라이언트 자체의 소스 코드를 수정하지 않아도됩니다.

+2

그냥 한 단어 - ** 이유 **? – home

+3

http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem –

+0

그냥 실행중인 프로세스를 찾은 다음 그 프로세스가 없다면 시작하십시오. 시작되면 통신 할 수 있습니다 소켓, 또는 다른 통신, 반영 필요가 없습니다. – greedybuddha

답변

0

프로세스는 다른 프로세스의 메서드를 "호출"할 수 없습니다. 두 프로세스 모두 운영 체제에 의해 완전히 분리됩니다.

프로세스는 동일한 컴퓨터에서 실행중인 경우에도 네트워크를 통해 통신 할 수 있습니다. 자신의 프로토콜을 구현하고 TCP를 통해 메시지를 보낼 수 있습니다. 테스트 중 하나가 서버가되고 다른 프로세스가 클라이언트 인 경우입니다. 그러나 RMI와 같은 상위 수준 도구를 사용하여 작업을 단순화 할 수 있습니다. 하지만 JMX와 같은 더 높은 수준의 API가 필요해 보인다.

그래서 모든 요구 사항을 설명하면 JMX를 추천합니다.

하지만 다른 요구 사항이 있으면 설명해주십시오. 제품 관리에 의해 정의 된대로 여기에 작업을 설명하는 것이 좋습니다. 귀하의 Program.jar과 Test.jar는 아마도 최선의 선택이 아닌 아키텍쳐의 일부입니다. 따라서 커뮤니티가 여러분이 정말로 필요한 것을 설명 할 때 더 나은 디자인을하도록 도와 줄 수 있다고 믿습니다.

행운을 빈다.

관련 문제