Class: StompActors::Consumer
- Inherits:
-
Object
- Object
- StompActors::Consumer
show all
- Includes:
- Celluloid, Celluloid::Logger, Client
- Defined in:
- lib/stomp_actors/consumer.rb
Instance Attribute Summary collapse
Instance Method Summary
collapse
Methods included from Client
#connect, #disconnect, included
Constructor Details
Returns a new instance of Consumer.
12
13
14
|
# File 'lib/stomp_actors/consumer.rb', line 12
def initialize
async.start
end
|
Instance Attribute Details
#subscription_id ⇒ Object
Returns the value of attribute subscription_id.
8
9
10
|
# File 'lib/stomp_actors/consumer.rb', line 8
def subscription_id
@subscription_id
end
|
Instance Method Details
#ack(msg) ⇒ Object
33
34
35
|
# File 'lib/stomp_actors/consumer.rb', line 33
def ack(msg)
client.acknowledge(msg)
end
|
#cleanup ⇒ Object
37
38
39
40
|
# File 'lib/stomp_actors/consumer.rb', line 37
def cleanup
unsubscribe
disconnect
end
|
#start ⇒ Object
16
17
18
19
|
# File 'lib/stomp_actors/consumer.rb', line 16
def start
connect
subscribe
end
|
#subscribe ⇒ Object
21
22
23
24
25
26
27
|
# File 'lib/stomp_actors/consumer.rb', line 21
def subscribe
me = current_actor
client.subscribe(queue, subscribe_opts) do |msg|
me.receive(msg)
end
end
|
#subscribe_opts ⇒ Object
29
30
31
|
# File 'lib/stomp_actors/consumer.rb', line 29
def subscribe_opts
{}
end
|
#unsubscribe ⇒ Object
42
43
44
|
# File 'lib/stomp_actors/consumer.rb', line 42
def unsubscribe
client.unsubscribe(queue) if client && client.open?
end
|