2017-05-03 9 views

답변

1

스프링 부트가 옵션 인 경우 독립형 응용 프로그램을 만들고 ActiveMQ 메시지를 사용하여 "프로젝트"와 통신합니다.

이동 Microservices.

또 다른 대안은 동일한 ActiveMQ 인스턴스를 소비하고 게시하는 세 번째 프로젝트를 만드는 것일 수 있습니다. 거기에 어떤 문제도 보이지 않습니다. 사실 메시지 버스는 서로 다른 프로젝트 또는 응용 프로그램을 분리하고 통신하는 훌륭한 방법입니다.

+0

저는 브로커를 시작하는 스프링 부트 마이크로 서비스를 만들었습니다. 그런 다음 다른 두 개의 스프링 MVC 프로젝트에서 브로커 명세서를 제거했습니다. 다음과 같은 오류가 발생했습니다. ** 오류 : BrokerService : 608 - Apache ActiveMQ ([localhost, null], javax.management.InstanceAlreadyExistsException : org.apache.activemq : type = Broker, brokerName = localhost)를 시작하지 못했습니다. WARN ManagementContext : 158 - JMX를 시작하지 못했습니다. 커넥터 URL [rmi : // localhost : 1099/jmxrmi]에 바인드 할 수 없습니다. javax.naming.NameAlreadyBoundException : jmxrmi [루트 예외는 java.rmi.AlreadyBoundException : jmxrmi입니다. ** – Zeeshan

+0

예전의 것 같습니다. 상자에서 실행중인 서비스를 확인하고 종료하십시오. – Fernando

+0

위의 오류는 스프링 mvc 응용 프로그램을 실행할 때만 발생합니다. 스프링 마이크로 서비스를 실행할 때가 아닙니다. – Zeeshan