New issue 53 by tomasz.kalkosinski: JMS Adapter bug (with a fix)
http://code.google.com/p/activemessaging/issues/detail?id=53
I've encountered small bug with JMS adapter:
{{{
Dispatch exception: undefined method `value' for
#<ActiveMessaging::Subscription:0x1846d05>
/home/spoonman/jruby-1.4.0/lib/ruby/gems/1.8/gems/activemessaging-0.7.1/lib/activemessaging/adapters/jms.rb:175:in
`matches_subscription?'
/home/spoonman/jruby-1.4.0/lib/ruby/gems/1.8/gems/activemessaging-0.7.1/lib/activemessaging/gateway.rb:223:in
`_dispatch'
/home/spoonman/jruby-1.4.0/lib/ruby/gems/1.8/gems/activemessaging-0.7.1/lib/activemessaging/gateway.rb:222:in
`each'
/home/spoonman/jruby-1.4.0/lib/ruby/gems/1.8/gems/activemessaging-0.7.1/lib/activemessaging/gateway.rb:222:in
`_dispatch'
/home/spoonman/jruby-1.4.0/lib/ruby/gems/1.8/gems/activemessaging-0.7.1/lib/activemessaging/gateway.rb:207:in
`dispatch'
/home/spoonman/jruby-1.4.0/lib/ruby/gems/1.8/gems/activemessaging-0.7.1/lib/activemessaging/gateway.rb:204:in
`dispatch'
/home/spoonman/jruby-1.4.0/lib/ruby/gems/1.8/gems/activemessaging-0.7.1/lib/activemessaging/gateway.rb:95:in
`stop'
/home/spoonman/jruby-1.4.0/lib/ruby/gems/1.8/gems/activemessaging-0.7.1/lib/activemessaging/gateway.rb:92:in
`start'
/home/spoonman/jruby-1.4.0/lib/ruby/gems/1.8/gems/activemessaging-0.7.1/lib/activemessaging/gateway.rb:92:in
`stop'
/home/spoonman/jruby-1.4.0/lib/ruby/gems/1.8/gems/activemessaging-0.7.1/lib/activemessaging/gateway.rb:82:in
`each'
/home/spoonman/jruby-1.4.0/lib/ruby/gems/1.8/gems/activemessaging-0.7.1/lib/activemessaging/gateway.rb:82:in
`stop'
/home/spoonman/jruby-1.4.0/lib/ruby/gems/1.8/gems/activemessaging-0.7.1/lib/activemessaging/gateway.rb:69:in
`start'
/home/spoonman/jruby-1.4.0/lib/ruby/gems/1.8/gems/activemessaging-0.7.1/lib/activemessaging.rb:111:in
`start'
/home/spoonman/NetBeansProjects/StrzykawkaRubyOnRails/trunk/app/processors/chat_client_processor.rb:10
}}}
Fix:
Subscription has attr_reader :destination, and Destination has
attr_reader :value, so there's only small fix needed:
jms.rb, line 174:
{{{
def matches_subscription?(subscription)
self.headers['destination'].to_s ==
subscription.destination.value.to_s
end
}}}