>Java >Spring Boot 내장 ActiveMQ Artemis 브로커 연결

Spring Boot 내장 ActiveMQ Artemis 브로커 연결

WBOY
WBOY앞으로
2024-02-11 13:39:08863검색

php 편집기 Banana는 Spring Boot 내장 ActiveMQ Artemis 프록시 연결을 소개합니다. ActiveMQ Artemis는 안정적인 메시징 시스템을 구축하는 데 자주 사용되는 확장 가능한 고성능 메시지 브로커입니다. Spring Boot는 ActiveMQ Artemis를 통합하는 간단하고 편리한 방법을 제공합니다. 임베디드 연결을 통해 추가 구성 및 배포 없이 Spring Boot 애플리케이션에서 직접 ActiveMQ Artemis를 사용할 수 있습니다. 이 연결 방법은 개발 프로세스를 단순화할 뿐만 아니라 더 높은 성능과 안정성을 제공하여 메시지 전달을 더욱 효율적이고 안정적으로 만듭니다. 실시간 애플리케이션, 메시지 대기열 또는 비동기 통신을 개발하는 경우 Spring Boot 내장 ActiveMQ Artemis 브로커 연결은 살펴볼 가치가 있는 옵션입니다.

질문 내용

메시지를 수신하는 매우 간단한 spring boot 2.7.6 activemq artemis 애플리케이션이 있습니다.

으아악

임베디드 프록시를 구성하는 코드입니다. 여러 수신기를 추가하여 추측하고 있습니다. 다른 게시물에서 addconnectorconfiguration를 참조했지만 지금까지 그 중 아무 것도 작동하지 않는 것 같습니다.

으아악

이렇게 간단하게 application.properties:

으아악

그런 다음 메시지를 생성하여 프록시 주소로 보내는 또 다른 스프링 부트 애플리케이션이 있습니다.

으아악

그런 다음 각 애플리케이션을 시작하고 send 메서드를 호출하려고 시도하지만 다음 오류 때문에 생산자 애플리케이션에서 브로커에 연결할 수 없습니다.

으아악

생산자 애플리케이션은 activemq artemis의 docker 인스턴스에 정상적으로 연결할 수 있습니다.

현재 두 애플리케이션 모두 동일한 시스템에서 실행되고 있지만 프로덕션에서는 각 애플리케이션이 별도의 포드에서 실행되기를 원합니다.

해결 방법

나는 당신이 하고 있는 일이 가능하고 모든 것이 잘 작동하는지 확인하기 위해 개념 증명으로 매우 간단한 프로젝트를 구성했습니다. 내장된 에이전트가 시작되고 포트 61616에서 원격 클라이언트의 연결을 수락합니다.

이것은 application.java:

으아악

이것은 artemisconfig.java:

으아악

이건 내 꺼야 application.properties:

으아악

드디어 내꺼야 pom.xml:

으아악

다음과 같이 앱을 실행합니다:

으아악

다음과 같은 로그 기록이 보입니다.

으아악

다른 애플리케이션에서 에이전트에게 메시지를 보낼 수 있고 jmslistener 메시지가 수신됩니다.

프로젝트를 github에 업로드했습니다.

위 내용은 Spring Boot 내장 ActiveMQ Artemis 브로커 연결의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 stackoverflow.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제