2017-01-10 6 views
-1

선생님은 다른 HMI를 모두 알려주는 컨트롤러로 구성된 JAVA 응용 프로그램을 가지고 있으며이를 재현하고 싶습니다.JAVA Observer multi-IHM

그러나 HMI와 컨트롤러는 실제로 독립적입니다. 컨트롤러 (실행 가능한 항아리 포함)를 시작한 다음 다른 실행 가능한 Jar로 원하는 HMI를 시작할 수있었습니다.

한 가지 해결책은 소켓 프로그래밍을 사용하는 것일 수 있지만 원격 호출을 사용하지 않고 다른 솔루션을 사용할 수 있는지 궁금합니다. 옵서버는 프로젝트에 포함 된 객체에만 알릴 수 있습니다. 그렇죠?

"로컬"로 작업하고 싶기 때문에 소켓 프로그래밍 이외의 다른 솔루션을 찾고있었습니다.

+0

HMI는 정확히 무엇입니까 (또는 IHM, 철자가 올바른지). – zubergu

+0

@zubergu : 아마도 GUI 일 것입니다 (예를 들어 프랑스어로,이 HHM : Interface Homme-Machine이라고 부릅니다). – Berger

+0

예 또는 영어의 Human Machine Interface. 예제에서 HMI는 SWING에서 개발 된 그리드였습니다. – Ryusekai

답변

0

알림을 받으려면 Observer을 사용할 수 있지만 프로세스를 분리했기 때문에 분산 된 관찰자 또는 알림 개념이 필요합니다.

구현 방법은 다양합니다. 한 가지 옵션은 브로커를 사용하는 것입니다. ActiveMQ를 누른 다음 topic을 사용하면 컨트롤러가 주제에 메시지를 생성하고 해당 주제를 듣고있는 모든 HMI가 메시지를 수신하지만 (알림이 전송 됨) 소켓이나 RPC를 통해 구현할 수 있습니다.

+0

선생님이 RPC를 사용했지만 어쨌든 해결책을 확인해 보겠습니다. 답변 해 주셔서 감사합니다. – Ryusekai