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

17 lines
488 B
Kotlin

package util.jms.replicatedobject
import util.jms.requestor.ActiveMQRequestor
import java.lang.reflect.Proxy
class ReplicatedObjectFactory<T>(private val classType: Class<T>) {
fun create(queueName: String, shared: Boolean = false): T {
val requestor = ActiveMQRequestor(queueName, shared)
return Proxy.newProxyInstance(
this::class.java.classLoader,
arrayOf(classType),
ReplicatedObjectHandler(requestor)
) as T
}
}