Class: HornetQ::Client::RequestorPattern
- Inherits:
-
Object
- Object
- HornetQ::Client::RequestorPattern
- Defined in:
- lib/hornetq/client/requestor_pattern.rb
Overview
Implements the Requestor Pattern
Send a request to a server and wait for a reply
Instance Method Summary collapse
- #close ⇒ Object
-
#initialize(session, request_address) ⇒ RequestorPattern
constructor
A new instance of RequestorPattern.
- #request(request_message, timeout) ⇒ Object
Constructor Details
#initialize(session, request_address) ⇒ RequestorPattern
Returns a new instance of RequestorPattern.
6 7 8 9 10 11 12 13 14 15 16 |
# File 'lib/hornetq/client/requestor_pattern.rb', line 6 def initialize(session, request_address) @session = session @producer = session.create_producer(request_address) reply_queue = "#{request_address}.#{Java::java.util::UUID.randomUUID.toString}" begin session.create_temporary_queue(reply_queue, reply_queue) rescue NativeException => exc p exc end @consumer = session.create_consumer(reply_queue) end |
Instance Method Details
#close ⇒ Object
24 25 26 27 28 |
# File 'lib/hornetq/client/requestor_pattern.rb', line 24 def close @producer.close if @producer @consumer.close if @consumer @session.delete_queue(@consumer.queue_name) end |
#request(request_message, timeout) ⇒ Object
18 19 20 21 22 |
# File 'lib/hornetq/client/requestor_pattern.rb', line 18 def request(, timeout) .putStringProperty(Java::OrgHornetqCoreClientImpl::ClientMessageImpl::REPLYTO_HEADER_NAME, @consumer.queue_name); @producer.send() @consumer.receive(timeout) end |