4장. 예


이 장에서는 예제 프로그램을 통해 AMQ Ruby를 사용하는 방법을 보여줍니다.

자세한 내용은 AMQ Ruby 예제 제품군 및 Cryostat Proton Ruby 예제 를 참조하십시오.

4.1. 메시지 전송

이 클라이언트 프로그램은 < connection-url >을 사용하여 서버에 연결하고, 대상 < address >에 대한 보낸 사람을 생성하고, < message-body >를 포함하는 메시지를 전송하고, 연결을 종료하고 종료합니다.

예: 메시지 전송

require 'qpid_proton'

class SendHandler < Qpid::Proton::MessagingHandler
  def initialize(conn_url, address, message_body)
    super()

    @conn_url = conn_url
    @address = address
    @message_body = message_body
  end

  def on_container_start(container)
    conn = container.connect(@conn_url)
    conn.open_sender(@address)
  end

  def on_sender_open(sender)
    puts "SEND: Opened sender for target address '#{sender.target.address}'\n"
  end

  def on_sendable(sender)
    message = Qpid::Proton::Message.new(@message_body)
    sender.send(message)

    puts "SEND: Sent message '#{message.body}'\n"

    sender.close
    sender.connection.close
  end
end

if ARGV.size == 3
  conn_url, address, message_body = ARGV
else
  abort "Usage: send.rb <connection-url> <address> <message-body>\n"
end

handler = SendHandler.new(conn_url, address, message_body)
container = Qpid::Proton::Container.new(handler)
container.run

예제 실행

예제 프로그램을 실행하려면 로컬 파일에 복사하고 ruby 명령을 사용하여 호출합니다. 자세한 내용은 3장. 시작하기의 내용을 참조하십시오.

$ ruby send.rb amqp://localhost queue1 hello
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.