第 4 章 例子
本章演示了通过示例程序使用 AMQ Ruby。
如需了解更多示例,请参阅 AMQ Ruby 示例套件和 Qpid Proton Ruby 示例。
4.1. 发送消息
此客户端程序使用 < connection-url
> 连接到服务器,为目标 <address& gt;
创建发件人,发送一条消息,包含 <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