class TorqueBox::Stomp::JmsStomplet::MessageListener
@api private
Public Class Methods
new(subscriber, options={})
click to toggle source
# File lib/torquebox/stomp/jms_stomplet.rb, line 110 def initialize(subscriber, options={}) @subscriber = subscriber @encoding = options[:encoding] end
Public Instance Methods
onMessage(jms_message)
click to toggle source
# File lib/torquebox/stomp/jms_stomplet.rb, line 115 def onMessage(jms_message) content = TorqueBox::Messaging::Message.new( jms_message ).decode ( content = TorqueBox::Codecs.encode( content, @encoding ) ) if @encoding stomp_message = TorqueBox::Stomp::Message.new( content ) jms_message.property_names.each do |name| value = jms_message.getObjectProperty( name ).to_s stomp_message.headers.put( name.to_s.to_java( java.lang.String ), value.to_java( java.lang.String) ) if value end if ( stomp_message.headers[ 'content-type' ] == nil ) if ( @encoding == :json ) stomp_message.headers.put( "content-type", "application/json" ) else stomp_message.headers.put( "content-type", "text/plain" ) end end @subscriber.send( stomp_message ) end