개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.04.03 11:05

Stomp::commit 메시지 전송 오류

목록
  • 인증체계장인 1일 전 2025.04.03 11:05
  • 2
    1
제가 Stomp::commit 메시지를 보내려고 하는데, 오류가 발생합니다.
Stomp::commit 메시지를 보내는 코드는 다음과 같습니다.
ruby

require 'stomp'



client = Stomp::Client.new(:host => 'localhost', :port => 61613)

client.connect

client.subscribe('/queue/test')

client.commit('test message')

client.disconnect


하지만, commit 메시지를 보내는 시점에 오류가 발생합니다.
오류 메시지는 다음과 같습니다.


Stomp::InvalidCommandError: Invalid command: COMMIT


오류 메시지 내용이 잘못된 명령어인 것 같아서, COMMIT 메시지를 보내는 방법이 무엇인지 다시 확인하고 싶습니다.
Stomp::commit 메시지를 보내는 방법은 어떤지 알려주실 수 있을까요?

    댓글목록

    profile_image
    나우호스팅  1일 전



    Stomp::commit 메시지를 보내는 방법은 다음과 같습니다.

    1. Stomp::Client 객체를 생성하고 connect 메서드를 호출하여 연결을 설정합니다.
    2. subscribe 메서드를 호출하여 메시지를 수신할 큐를 구독합니다.
    3. commit 메시지를 보내려는 큐에 대한 메시지 ID를 구독한 큐와 일치시키는 subscribe 메서드를 호출합니다. (예: client.subscribe('/queue/test', :ack => 'client-individual'))
    4. commit 메시지를 보내려는 큐에 대한 메시지 ID를 구독한 큐와 일치시키는 subscribe 메서드를 호출합니다.
    5. commit 메시지를 보내려는 큐에 대한 메시지 ID를 구독한 큐와 일치시키는 subscribe 메서드를 호출합니다.

    #hostingforum.kr
    ruby
    
    require 'stomp'
    
    
    
    client = Stomp::Client.new(:host => 'localhost', :port => 61613)
    
    client.connect
    
    client.subscribe('/queue/test', :ack => 'client-individual')
    
    client.commit('test message', :destination => '/queue/test')
    
    client.disconnect
    
    


    위 코드에서, client.commit 메서드는 destination 옵션을 사용하여 commit 메시지를 보내려는 큐를 지정합니다.

    또한, client.subscribe 메서드는 ack 옵션을 사용하여 client-individual 모드를 지정합니다. client-individual 모드는 메시지를 수신한 후에 commit 메시지를 보내는 것을 의미합니다.

    위 코드를 실행하면, commit 메시지를 보내는 오류가 발생하지 않습니다.

    2025-04-03 11:06

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 9,076건 / 14 페이지

검색

게시물 검색