Как я могу вызвать методы, которые не указаны в интерфейсе IDL? [Корба, Джава]
Мой 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, но это невозможно.
Как клиент может вызывать методы ManageDemand в распределенной ссылке TransactionResourceImpl?
1 ответ
Это невозможно. Вам нужно будет добавить эти методы в IDL и реализовать их так же, как и любой другой объект CORBA.