Как я могу вызвать методы, которые не указаны в интерфейсе 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.

Другие вопросы по тегам