lm-sistemi-software-distrib.../src/main/kotlin/drills/drill07/exercise4/Replier.kt

22 lines
501 B
Kotlin

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)
}