package drills.drill06.exercise2 import org.apache.activemq.ActiveMQConnectionFactory import javax.jms.Session import javax.jms.TextMessage import javax.jms.TopicConnectionFactory fun main() { val factory: TopicConnectionFactory = ActiveMQConnectionFactory() val connection = factory.createTopicConnection() connection.start() val session = connection.createTopicSession( false, Session.AUTO_ACKNOWLEDGE ) val room = session.createTopic("movies") val publisher = session.createPublisher(room) val subscriber = session.createSubscriber(room) subscriber.setMessageListener { println("peer: ${(it as TextMessage).text}") } var line = readLine() val msg = session.createTextMessage() while (line != ".") { msg.text = line publisher.publish(msg) line = readLine() } session.close() connection.close() }