我的 IDL 看起来像:
interface TransactionResource {
void prepare() raises (NotPreparedException);
void commit() raises(TransactionException);
void rollback() raises(TransactionException);
};
当我实现 TransactionResourceImpl 时,我实现了另一个 Java 接口"ManageDemand",如下所示:
public class TransactionResourceImpl extends TransactionResourcePOA implements ManageDemand {
// In this class, I redefine TransactionResource methods, and ManageDemand methods.
}
当我将此对象 TransactionResourceImpl 发送到客户端时,他只能使用 TransactionResource 方法,而不能使用 ManageDemand 方法。
我尝试使用反射来调用 ManageDemand 方法,但这是不可能的。
客户端如何在 TransactionResourceImpl 分布式引用上调用 ManageDemand 方法?
这是不可能的。您必须将这些方法添加到 IDL 中,并像实现任何其他 CORBA 对象一样实现它们。