22 lines
501 B
Kotlin
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)
|
|
}
|