第4章 例
本章では、サンプルプログラムで AMQ Ruby を使用する方法について説明します。
その他の例は、AMQ Ruby サンプルのスイート と Qpid 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