복붙노트

[SPRING] Spring Boot에서 ActiveMQ 포트를 설정하는 방법은 무엇입니까?

SPRING

Spring Boot에서 ActiveMQ 포트를 설정하는 방법은 무엇입니까?

하나의 서버에서 두 개의 Spring Boot 애플리케이션을 실행합니다. 둘 다 임베디드 ActiveMQ JMS를 사용합니다. 각 응용 프로그램에 대해 별도의 JMS 인스턴스를 갖고 싶습니다. 각각의 포트를 어떻게 설정할 수 있습니까? spring.activemq.port와 같은 속성이 있습니까? 두 번째 응용 프로그램을 실행할 때 다음과 같은 예상 오류가 발생합니다.

Failed to start JMX connector Cannot bind to URL [rmi://localhost:1099/jmxrmi]: javax.naming.NameAlreadyBoundException: jmxrmi [Root exception is java.rmi.AlreadyBoundException: jmxrmi]. Will restart management to re-create JMX connector, trying to remedy this issue.

해결법

  1. ==============================

    1.나는 2 개의 SpringBoot 프로세스와 동일한 문제를 가지고 있으며 ActiveMQ를 통해 메시지를 보내고 싶다. 먼저 ActiveMQ를 사용하여 다른 프로세스를 시작하고 SpringBoot 프로세스를 application.properties 파일에 다음과 같이 구성했습니다.

    나는 2 개의 SpringBoot 프로세스와 동일한 문제를 가지고 있으며 ActiveMQ를 통해 메시지를 보내고 싶다. 먼저 ActiveMQ를 사용하여 다른 프로세스를 시작하고 SpringBoot 프로세스를 application.properties 파일에 다음과 같이 구성했습니다.

    spring.activemq.broker-url = tcp://localhost:61616
    

    이 설정을 사용하여 Springboot에게 외부 ActiveMq 서비스에 연결하도록 지시한다. 이 방법이 효과적이지만, 먼저 ActiveMQ를 시작하고 Springboot 프로세스를 시작해야합니다. 일부 페이지에서는 프로덕션 환경에서 사용해야하는 방법을 읽어야합니다.

    또 다른 해결책은 SpringBoot 프로세스 중 하나에서 임베디드 JMS 지원을 사용하는 것입니다.이 방법을 사용하면 하나의 Springboot 프로세스에서 연결을 수신하는 ActiveMQ 브로커 서비스를 구성해야합니다. 다음과 같이 브로커 빈을 추가 할 수 있습니다.

    @Bean
    public BrokerService broker() throws Exception {
        final BrokerService broker = new BrokerService();
        broker.addConnector("tcp://localhost:61616");
        broker.addConnector("vm://localhost");
        broker.setPersistent(false);
        return broker;
    }
    

    이제이 빈을 사용하는이 SpringBoot 프로세스는 application.properties에서 이전 구성을 필요로하지 않으며, 이것은 ActiveMQ가 다른 프로세스 연결을 청취하도록하기 위해 시작하는 첫 번째 프로세스가 될 것이다.

    다른 Springboot 프로세스는 여전히 첫 번째 프로세스에 의해 생성 된 ActiveMq에 연결하기 위해 application.properties에 구성을 가지고 있어야합니다.

    희망이 당신을 돕는다. 친애하는.

  2. ==============================

    2.spring.activemq.broker-url 속성을 사용하여 브로커 URL을 구성 할 수 있습니다 (예 : 그것을 spring.activemq.broker-url = tcp : // localhost : 61616으로 설정하십시오.

    spring.activemq.broker-url 속성을 사용하여 브로커 URL을 구성 할 수 있습니다 (예 : 그것을 spring.activemq.broker-url = tcp : // localhost : 61616으로 설정하십시오.

    사용 가능한 속성에 대한 포괄적 인 참조는이 참조를 확인하십시오.

  3. ==============================

    3.spring.activemq.broker-url

    spring.activemq.broker-url

    봄 부팅 속성에 따라 포트 포함

  4. from https://stackoverflow.com/questions/42681595/how-to-set-activemq-port-in-spring-boot by cc-by-sa and MIT license