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