Inflearn brand logo image

인프런 커뮤니티 질문&답변

rhdrlehf5님의 프로필 이미지
rhdrlehf5

작성한 질문수

RabbitMQ를 이용한 비동기 아키텍처 한방에 해결하기

7.기본 비동기 메시지 전송 part 2

인증 에러

작성

·

26

0

학습중 궁금한 것은 언제든 문의 하세요.

질문을 최대한 자세히 남겨주시면 반드시 답변 드리도록 하겠습니다.

추가로 알고 싶은 내용도 요청해주시면 강의 자료를 업데이트 해서 제공할 예정입니다.

application.yml

spring:
  application:
    name: HelloMessageQueue

  rabbitmq:
    host: localhost
    port: 5672
    username: admin
    password: admin

server:
  port: 8080

 docker-compose.yml

services:
  rabbitmq:
    image: rabbitmq:3-management
    container_name: mq
    ports:
      - "5672:5672"
      - "15672:15672"
    environment:
      RABBITMQ_ERLANG_COOKIE: rabbitmqCookie
      RABBITMQ_DEFAULT_USER: admin
      RABBITMQ_DEFAULT_PASS: admin

이렇게 해서 실행하면
2025-08-08T11:17:15.145+09:00 ERROR 11684 --- [HelloMessageQueue] [ restartedMain] o.s.boot.SpringApplication : Application run failed

org.springframework.context.ApplicationContextException: Failed to start bean 'container'

at org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:408) ~[spring-context-6.2.9.jar:6.2.9]

at org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:394) ~[spring-context-6.2.9.jar:6.2.9]

at org.springframework.context.support.DefaultLifecycleProcessor$LifecycleGroup.start(DefaultLifecycleProcessor.java:586) ~[spring-context-6.2.9.jar:6.2.9]

at java.base/java.lang.Iterable.forEach(Iterable.java:75) ~[na:na]

at org.springframework.context.support.DefaultLifecycleProcessor.startBeans(DefaultLifecycleProcessor.java:364) ~[spring-context-6.2.9.jar:6.2.9]

at org.springframework.context.support.DefaultLifecycleProcessor.onRefresh(DefaultLifecycleProcessor.java:310) ~[spring-context-6.2.9.jar:6.2.9]

at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:1006) ~[spring-context-6.2.9.jar:6.2.9]

at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:630) ~[spring-context-6.2.9.jar:6.2.9]

at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) ~[spring-boot-3.5.4.jar:3.5.4]

at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:752) ~[spring-boot-3.5.4.jar:3.5.4]

at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:439) ~[spring-boot-3.5.4.jar:3.5.4]

at org.springframework.boot.SpringApplication.run(SpringApplication.java:318) ~[spring-boot-3.5.4.jar:3.5.4]

at org.springframework.boot.SpringApplication.run(SpringApplication.java:1361) ~[spring-boot-3.5.4.jar:3.5.4]

at org.springframework.boot.SpringApplication.run(SpringApplication.java:1350) ~[spring-boot-3.5.4.jar:3.5.4]

at com.study.rabbitmq.RabbitmqApplication.main(RabbitmqApplication.java:10) ~[main/:na]

at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]

at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[na:na]

at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na]

at java.base/java.lang.reflect.Method.invoke(Method.java:568) ~[na:na]

at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:50) ~[spring-boot-devtools-3.5.4.jar:3.5.4]

Caused by: org.springframework.amqp.AmqpIllegalStateException: Fatal exception on listener startup

at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer.waitForConsumersToStart(SimpleMessageListenerContainer.java:643) ~[spring-rabbit-3.2.6.jar:3.2.6]

at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer.doStart(SimpleMessageListenerContainer.java:603) ~[spring-rabbit-3.2.6.jar:3.2.6]

at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.start(AbstractMessageListenerContainer.java:1417) ~[spring-rabbit-3.2.6.jar:3.2.6]

at org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:405) ~[spring-context-6.2.9.jar:6.2.9]

... 19 common frames omitted

Caused by: org.springframework.amqp.rabbit.listener.exception.FatalListenerStartupException: Authentication failure

at org.springframework.amqp.rabbit.listener.BlockingQueueConsumer.start(BlockingQueueConsumer.java:631) ~[spring-rabbit-3.2.6.jar:3.2.6]

at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer$AsyncMessageProcessingConsumer.initialize(SimpleMessageListenerContainer.java:1482) ~[spring-rabbit-3.2.6.jar:3.2.6]

at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer$AsyncMessageProcessingConsumer.run(SimpleMessageListenerContainer.java:1322) ~[spring-rabbit-3.2.6.jar:3.2.6]

at java.base/java.lang.Thread.run(Thread.java:842) ~[na:na]

Caused by: org.springframework.amqp.AmqpAuthenticationException: com.rabbitmq.client.AuthenticationFailureException: ACCESS_REFUSED - Login was refused using authentication mechanism PLAIN. For details see the broker logfile.

at org.springframework.amqp.rabbit.support.RabbitExceptionTranslator.convertRabbitAccessException(RabbitExceptionTranslator.java:64) ~[spring-rabbit-3.2.6.jar:3.2.6]

at org.springframework.amqp.rabbit.connection.AbstractConnectionFactory.createBareConnection(AbstractConnectionFactory.java:632) ~[spring-rabbit-3.2.6.jar:3.2.6]

at org.springframework.amqp.rabbit.connection.CachingConnectionFactory.createConnection(CachingConnectionFactory.java:726) ~[spring-rabbit-3.2.6.jar:3.2.6]

at org.springframework.amqp.rabbit.connection.ConnectionFactoryUtils.createConnection(ConnectionFactoryUtils.java:257) ~[spring-rabbit-3.2.6.jar:3.2.6]

at org.springframework.amqp.rabbit.connection.ConnectionFactoryUtils$RabbitResourceFactory.createConnection(ConnectionFactoryUtils.java:345) ~[spring-rabbit-3.2.6.jar:3.2.6]

at org.springframework.amqp.rabbit.connection.ConnectionFactoryUtils.doGetTransactionalResourceHolder(ConnectionFactoryUtils.java:140) ~[spring-rabbit-3.2.6.jar:3.2.6]

at org.springframework.amqp.rabbit.connection.ConnectionFactoryUtils.getTransactionalResourceHolder(ConnectionFactoryUtils.java:102) ~[spring-rabbit-3.2.6.jar:3.2.6]

at org.springframework.amqp.rabbit.connection.ConnectionFactoryUtils.getTransactionalResourceHolder(ConnectionFactoryUtils.java:85) ~[spring-rabbit-3.2.6.jar:3.2.6]

at org.springframework.amqp.rabbit.listener.BlockingQueueConsumer.start(BlockingQueueConsumer.java:625) ~[spring-rabbit-3.2.6.jar:3.2.6]

... 3 common frames omitted

Caused by: com.rabbitmq.client.AuthenticationFailureException: ACCESS_REFUSED - Login was refused using authentication mechanism PLAIN. For details see the broker logfile.

at com.rabbitmq.client.impl.AMQConnection.start(AMQConnection.java:395) ~[amqp-client-5.25.0.jar:5.25.0]

at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:1251) ~[amqp-client-5.25.0.jar:5.25.0]

at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:1198) ~[amqp-client-5.25.0.jar:5.25.0]

at org.springframework.amqp.rabbit.connection.AbstractConnectionFactory.connectAddresses(AbstractConnectionFactory.java:678) ~[spring-rabbit-3.2.6.jar:3.2.6]

at org.springframework.amqp.rabbit.connection.AbstractConnectionFactory.connect(AbstractConnectionFactory.java:647) ~[spring-rabbit-3.2.6.jar:3.2.6]

at org.springframework.amqp.rabbit.connection.AbstractConnectionFactory.createBareConnection(AbstractConnectionFactory.java:593) ~[spring-rabbit-3.2.6.jar:3.2.6]

... 10 common frames omitted
이 에러가 발생합니다

{D0D6A71B-28B0-49F6-90BB-A51DF06B0ECA}.png


계정도 있는데 인증이 안되는 이유를 모르겠습니다

답변 2

0

코드빌런님의 프로필 이미지
코드빌런
지식공유자

안녕하세요. 메시지 에러 자체는 RabbitMQ의 인증 에러 인데요, 도커 ps와 log를 확인해보시고, management 에 접근해보시기 바랍니다. (admin/admin으로 http://localhost:15672에 접근되는지)

원래 기본 계정은 guest/guest 입니다.

강의에 나온대로 RabbitMQ를 먼저 설치한 뒤 테스트 해보시고 제대로 된다면 도커 설정의 문제이므로 (로그나 권한 실행 타이밍으로 인한 에러)일 이 부분을 체크 먼저 하시고 범위를 줄여오류 사항을 예측해봐야 합니다.

구글에서 docker rabbitmq access reused error 로 검색했을때 위에 언급한 문제들의 해결방법이 나오므로 참고해보시되, 먼저 어드민 콘솔 부터 접근 되는지, 계정이 맞는지 부터 점검 해보시기 바랍니다.

 

감사합니다.

0

안녕하세요, 인프런 AI 인턴입니다. rhdrlehf5님.

RabbitMQ 인증 문제로 어려움을 겪고 계신 것 같네요. 에러 메시지를 기반으로 접근문제와 관련된 몇 가지 점검할 사항들을 설명드리겠습니다.

주요 원인

  1. 로그인 불일치:

    • application.yml 파일과 docker-compose.yml 파일에서 설정된 계정 정보(사용자 이름과 비밀번호)가 정확히 일치하는지 확인하세요. 양쪽 모두 admin으로 설정되어 있는지 점검 바랍니다.
    • 특히, 공백이나 잘못된 문자가 없는지 확인하세요. 종종 불필요한 공백이 문제를 일으킬 수 있습니다.
  2. 네트워크 문제:

    • localhost가 올바르게 구성되어 있는지 확인하세요. 경우에 따라 네트워크 설정 문제로 인해 localhost 대신 컨테이너의 IP 주소를 직접 지정하는 것이 필요할 수 있습니다.
  3. RabbitMQ 서비스 실행 상태:

    • docker-compose up 명령어를 실행하여 RabbitMQ 컨테이너가 정상적으로 실행되고 있는지 확인하세요.
    • docker ps 명령어로 RabbitMQ 컨테이너의 상태를 점검하여 실행 중인지 확인해 주세요.
  4. 포트 충돌:

    • 5672, 15672 포트가 다른 프로세스에 의해 사용 중인 것은 아닌지 확인해 주세요. netstat -ano 명령어를 통해 포트 사용 현황을 점검할 수 있습니다.

아래 링크는 추가적인 해결책을 제공하는 다른 Q&A입니다:
- “Spring Boot 프로젝트에서 RabbitMQ 연결 오류 해결 방법”
- “Spring AMQP 관련 구성 문제 해결 방법”

위 해결책이 문제 해결에 도움이 되길 바라며, 추가로 궁금한 사항이 있으시면 언제든지 이어서 질문해 주세요. 곧 지식공유자님께서 더 상세한 답변을 제공해 주실 것입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

rhdrlehf5님의 프로필 이미지
rhdrlehf5

작성한 질문수

질문하기