第 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