2013-12-18 36 views
0

我的IDL看起來像:如何調用IDL接口上未指定的方法? [CORBA,JAVA]

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方法?

+0

根據定義,你不能。暴露遠程方法的機制是IDL。如果它不在IDL中,它不會作爲遠程方法公開。你的問題沒有意義, – EJP

+0

這種方法是遠程還是本地? – Makah

回答

2

這是不可能的。您必須將這些方法添加到IDL並像其他CORBA對象一樣實施它們。