package drills.drill07.exercise4 import util.jms.replier.ActiveMQReplier import util.jms.replier.Replier fun main() { val replier: Replier = ActiveMQReplier("factorial", shared = true) replier.start() replier.onRequest { val n = it.getIntProperty("value") val resultMessage = replier.createMessage() resultMessage.setLongProperty("result", fact(n)) resultMessage } } private fun fact(n: Int): Long { return if (n <= 1) 1 else n * fact(n - 1) }