leandrosilva-sparrow 1.0.1 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/VERSION.yml CHANGED
@@ -1,4 +1,4 @@
1
1
  ---
2
2
  :minor: 0
3
3
  :major: 1
4
- :patch: 1
4
+ :patch: 2
data/lib/messaging.rb CHANGED
@@ -3,7 +3,7 @@ import 'javax.jms.Session'
3
3
  import 'javax.jms.MessageListener'
4
4
 
5
5
  module Sparrow
6
- module JMSg
6
+ module JMS
7
7
  module Messaging
8
8
 
9
9
  #
@@ -133,38 +133,49 @@ module Sparrow
133
133
  #
134
134
  # Ouvintes de mensagens.
135
135
  #
136
- # TODO: Completar a implementacao. Ainda nao esta legal.
136
+ # TODO: Completar a implementacao. Ainda nao esta legal. (Ja dei um tapinha,
137
+ # acho que agora ta bem proximo do que deve ser.)
137
138
  #
138
139
  class Listener < Base
139
140
  include MessageListener
140
-
141
+
142
+ #
143
+ # Estes parametros serao injetados pelo listener manager de acordo com o
144
+ # que houver sido definido pelos metodos connection_factory_name e destination_name.
145
+ #
141
146
  def initialize(connection_factory, destination)
142
147
  super(connection_factory, destination)
143
148
  end
144
-
145
- def criteria_for_receiving(criteria = {:timeout => DEFAULT_RECEIVER_TIMEOUT, :selector => ''})
146
- # Valor default para timeout, caso nao tenha sido informado
147
- @criteria_for_receiving[:timeout] = criteria[:timeout] || DEFAULT_RECEIVER_TIMEOUT
148
- end
149
+
150
+ #
151
+ # Nome JNDI da connection factory que ser usada para criar conexoes JMS.
152
+ #
153
+ # Invariavelmente deve ser usado pelas subclasses para informar qual devera
154
+ # ser a connection factory usada por esse listener.
155
+ #
156
+ def connection_factory_name(name)
149
157
 
150
158
  #
151
- # Nome pelo qual este listener sera conhecido.
159
+ # Nome JNDI do destino JMS que sera escutado.
152
160
  #
153
- # Invariavelmente deve ser re-implementado nas subclasses.
161
+ # Invariavelmente deve ser usado pelas subclasses, para informar o nome
162
+ # da queue ou topico que sera escutado.
154
163
  #
155
- def name
156
- raise Utils::Exception::AbstractMethodError.new('name')
164
+ def destination_name(name)
165
+ @destination_name = name
157
166
  end
158
167
 
159
- #
160
- # Destino JMS que sera escutado.
161
- #
162
- # Invariavelmente deve ser re-implementado nas subclasses.
163
- #
164
- def destination_name
165
- raise Utils::Exception::AbstractMethodError.new('destination_name')
168
+ #
169
+ # Criterios de selecao de mensagens, seguindo o padrao JMS.
170
+ #
171
+ # Invariavelmente as subclasses precisam usar esse metodo para definir
172
+ # os criterios de recebimento que este listener levara em conta.
173
+ #
174
+ def criteria_for_receiving(criteria = {:timeout => DEFAULT_RECEIVER_TIMEOUT, :selector => ''})
175
+ # Valor default para timeout, caso nao tenha sido informado
176
+ @criteria_for_receiving[:timeout] = criteria[:timeout] || DEFAULT_RECEIVER_TIMEOUT
166
177
  end
167
-
178
+
168
179
  #
169
180
  # Inicia a escuta de mensagens.
170
181
  #
data/spec/spec_helper.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  require 'rubygems'
2
2
  require 'spec'
3
3
 
4
- require File.dirname(File.expand_path(__FILE__)) + '/../lib/sparrow.rb'
4
+ require File.dirname(File.expand_path(__FILE__)) + '/../lib/sparrow.rb'
5
5
 
6
6
  #
7
7
  # Modulo com metodos uteis para as propertiess.
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: leandrosilva-sparrow
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Leandro Silva