Sha256: 95fc3352def70ba6f8ab80563a79139f4172ba14acdd2cda12ca38915e8f8fc8
Contents?: true
Size: 1.41 KB
Versions: 3
Compression:
Stored size: 1.41 KB
Contents
# # Sample : request.rb # # Sample program that demonstrates how to send a request message # and then block until the response is received from the server. # # A temporary Dynamic Reply To Queue is used with non-persistent messaging # require 'wmq' wait_seconds = 30 WMQ::QueueManager.connect(q_mgr_name: 'REID') do |qmgr| qmgr.open_queue( q_name: 'SYSTEM.DEFAULT.MODEL.QUEUE', dynamic_q_name: 'REQUEST.*', mode: :input ) do |reply_queue| message = WMQ::Message.new() message.descriptor = { msg_type: WMQ::MQMT_REQUEST, reply_to_q: reply_queue.name, reply_to_q_mgr: qmgr.name, format: WMQ::MQFMT_STRING, expiry: wait_seconds*10 # Measured in tenths of a second } message.data = 'Hello World' # Send request message qmgr.put(q_name: 'TEST.QUEUE', message: message) # Copy outgoing Message id to correlation id message.descriptor[:correl_id] = message.descriptor[:msg_id] # Wait for reply # Only get the message that matches the correlation id set above if reply_queue.get(wait: wait_seconds * 1000, message: message, match: WMQ::MQMO_MATCH_CORREL_ID) puts 'Received:' puts message.data else # get returns false when no message received. Also: message.data = nil puts 'Timed Out waiting for a reply from the server' end end end
Version data entries
3 entries across 3 versions & 2 rubygems
Version | Path |
---|---|
ferocia-rubywmq-2.1.1 | examples/request.rb |
rubywmq-2.1.1 | examples/request.rb |
rubywmq-2.1.0 | examples/request.rb |