Class: TorqueBox::Messaging::Topic

Inherits:
Destination show all
Defined in:
lib/torquebox/messaging/topic.rb

Constant Summary collapse

DEFAULT_SUBSCRIBER_NAME =
'subscriber-1'

Constants inherited from Destination

Destination::PRIORITY_MAP

Instance Attribute Summary

Attributes inherited from Destination

#connect_options, #connection_factory, #enumerable_options, #name

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Destination

#_dump, _load, #each, #initialize, #normalize_options, #publish, #receive, #wait_for_destination, #with_session

Constructor Details

This class inherits a constructor from TorqueBox::Messaging::Destination

Class Method Details

.start(name, options = {}) ⇒ Object



27
28
29
30
31
32
33
# File 'lib/torquebox/messaging/topic.rb', line 27

def self.start( name, options={} )
  jndi = options.fetch( :jndi, [].to_java(:string) )
  TorqueBox::ServiceRegistry.lookup("jboss.messaging.default.jms.manager") do |server|
    server.createTopic( false, name, jndi )
  end
  new( name )
end

Instance Method Details

#stopObject



35
36
37
38
39
# File 'lib/torquebox/messaging/topic.rb', line 35

def stop
  TorqueBox::ServiceRegistry.lookup("jboss.messaging.default.jms.manager") do |server|
    server.destroyTopic( name )
  end
end

#to_sObject



49
50
51
# File 'lib/torquebox/messaging/topic.rb', line 49

def to_s
  "[Topic: #{super}]"
end

#unsubscribe(subscriber_name = DEFAULT_SUBSCRIBER_NAME, options = { }) ⇒ Object



41
42
43
44
45
46
47
# File 'lib/torquebox/messaging/topic.rb', line 41

def unsubscribe(subscriber_name = DEFAULT_SUBSCRIBER_NAME, options = { })
  wait_for_destination(options[:startup_timeout]) do
    with_session do |session|
      session.unsubscribe( subscriber_name )
    end
  end
end