How to Receive a Message from an Apache ActiveMQ Topic with JRuby

W/o Durability

require 'java'

connFactory = org.apache.activemq.ActiveMQConnectionFactory.new

conn = connFactory.createConnection

sess = conn.createSession(false, javax.jms.Session::AUTO_ACKNOWLEDGE)

dest = sess.createTopic('SampleTopic')

cons = sess.createConsumer(dest)

conn.start

msg = cons.receive

puts msg

conn.close

W/ Durability

require 'java'

connFactory = org.apache.activemq.ActiveMQConnectionFactory.new

conn = connFactory.createConnection

conn.clientID = 'SampleClient'

sess = conn.createSession(false, javax.jms.Session::AUTO_ACKNOWLEDGE)

dest = sess.createTopic('SampleTopic')

cons = dest.createDurableSubscriber(dest, 'SampleSubscription')

conn.start

msg = cons.receive

puts msg

conn.close
Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.