Class: JSparrow::Messaging::Receiver
Overview
Receptor de mensagens.
Instance Method Summary collapse
Methods inherited from Base
Constructor Details
This class inherits a constructor from JSparrow::Messaging::Base
Instance Method Details
#receive_message(criteria_for_receiving = {:timeout => DEFAULT_RECEIVER_TIMEOUT, :selector => ''}, &message_handler) ⇒ Object
105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 |
# File 'lib/messaging.rb', line 105 def (criteria_for_receiving = {:timeout => DEFAULT_RECEIVER_TIMEOUT, :selector => ''}, &) # Cria uma conexao, uma sessao e um consumidor de qualquer tipo de mensagem connection = @connection_factory.create_connection session = connection.create_session(false, Session::AUTO_ACKNOWLEDGE) consumer = session.create_consumer(@destination, criteria_for_receiving[:selector]) # Prepara a conexao para receber mensagens connection.start # Inicia o recebimento de mensagens timeout = criteria_for_receiving[:timeout] || DEFAULT_RECEIVER_TIMEOUT while ( = consumer.receive(timeout)) # Inclui o modulo de identificacao de mensagem, util para o message_handler class << include MessageType end # Delega o tratamento da mensagem para o bloco recebido .call() end # Fecha a conexao connection.close end |