lm-sistemi-software-distrib.../src/main/kotlin/util/jms/replicatedobject/ReplicatedObjectHandler.kt

19 lines
509 B
Kotlin

package util.jms.replicatedobject
import util.jms.requestor.Requestor
import java.lang.reflect.InvocationHandler
import java.lang.reflect.Method
import javax.jms.ObjectMessage
class ReplicatedObjectHandler(
private val requestor: Requestor
) : InvocationHandler {
override fun invoke(p0: Any, p1: Method, p2: Array<out Any>): Any {
val call = Call(p1.name, p2)
val msg = requestor.createObjectMessage(call)
return (requestor.request(msg) as ObjectMessage).`object`
}
}