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

W/o Durability

import javax.jms.Session

import org.apache.activemq.ActiveMQConnectionFactory

fun main(args : Array<String>) {
  val connFactory = ActiveMQConnectionFactory()

  val conn = connFactory.createConnection()!!

  val sess = conn.createSession(false, Session.AUTO_ACKNOWLEDGE)!!

  val dest = sess.createTopic("SampleTopic")

  val cons = sess.createConsumer(dest)!!

  conn.start()

  val msg = cons.receive()

  println(msg)

  conn.close()
}

W/ Durability

import javax.jms.Session

import org.apache.activemq.ActiveMQConnectionFactory

fun main(args : Array<String>) {
  val connFactory = ActiveMQConnectionFactory()

  val conn = connFactory.createConnection()!!

  conn.setClientID("SampleClient")

  val sess = conn.createSession(false, Session.AUTO_ACKNOWLEDGE)!!

  val dest = sess.createTopic("SampleTopic")

  val cons = sess.createDurableSubscriber(dest, "SampleSubscription")!!

  conn.start()

  val msg = cons.receive()

  println(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.