lm-sistemi-software-distrib.../src/main/kotlin/drills/drill07/exercise1/point2/Receiver.kt

42 lines
943 B
Kotlin

package drills.drill07.exercise1.point2
import org.apache.activemq.ActiveMQConnectionFactory
import javax.jms.QueueConnectionFactory
import javax.jms.Session
fun main() {
val url = "tcp://localhost:61616"
val factory: QueueConnectionFactory = ActiveMQConnectionFactory(url)
val connection = factory.createQueueConnection()
connection.start()
val session = connection.createQueueSession(
true,
Session.SESSION_TRANSACTED
)
val queue = session.createQueue("transacted")
val receiver = session.createReceiver(queue)
repeat(10) {
val msg = receiver.receive()
val value = msg.getIntProperty("value")
println(value)
}
println("retry")
session.rollback()
repeat(10) {
val msg = receiver.receive()
val value = msg.getIntProperty("value")
println(value)
}
session.commit()
session.close()
connection.close()
}