2017-12-21 6 views
0

내가 가진 문제가 잘못된 것 때문에 오히려 개념적인 것이거나 기술적 인 것인지 확실하지 않습니다.Java EE 응용 프로그램에서 Java SE 응용 프로그램으로 JMS 메시지를 보냅니다.

목표는 표준 JMS 프로토콜과 주제를 사용하여 응용 프로그램 컨테이너 (여기서는 WildFly)에서 호스팅되는 Java EE 응용 프로그램과 독립 실행 형을 실행하는 Java SE 응용 프로그램 사이에 양방향 메시지를 보내는 것입니다. 나는 이것이 동일한 브로커와 동일한 주제를 사용하는 한 가능할 것이다.

그래서 메시지 브로커로 실행되는 외부 Artemis 인스턴스가 있고 Java EE 응용 프로그램의 별도 빈에서 제작자와 소비자를 성공적으로 설정했습니다. 그들은 모두 "topic1"이라는 동일한 주제를 사용하고 있습니다. 이 생성자가 보낸 메시지는 소비자 Bean에 의해 성공적으로 수신됩니다.

외부 컨테이너을 독립 실행 형 응용 프로그램으로 실행하는 Java EE 응용 프로그램에서 다른 소비자 및 제작자 쌍을 설정했습니다. 그들은 동일한 브로커에 연결하고 있으며 동일한 주제 "topic1"을 사용하고 있습니다. 또한이 제작자가 보낸 메시지는이 소비자가 수신합니다.

생산자가 메시지를 게시 할 때 두 소비자가 메시지를 수신 할 것으로 예상했습니다. 하지만이 두 앱 사이에는 아무런 변화가 없습니다. 컨테이너 내부의 앱도 독립형 또는 다른 방법으로 메시지를 수신하지 않습니다. 개념적인 실수를 저지르고 있습니까? 아니면 configs에 문제가 있습니까?

답변

0

그래, 문제가 발견되어 오히려 잘못된 것입니다. 분명히 실수였던 Java SE 측에서 주제의 JNDI 주소를 사용하고 있었지만 주제 이름을 대신 사용해야했습니다.

관련 문제