39 lines
919 B
Kotlin
39 lines
919 B
Kotlin
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()
|
|
}
|