2
我的IDL看起來像:如何檢測我必須使用的Helper類來縮小我的Corba對象?
interface TransactionResource {
void prepare() raises (NotPreparedException);
void commit() raises(TransactionException);
void rollback() raises(TransactionException);
};
interface ManageDemand : TransactionResource {
string createDemand(in string demand);
};
interface CreateAccount : TransactionResource {
string createAccount(in string account);
};
我創建ManageDemand分佈式對象服務器上,我讓執着,它是通過CORBALOC地址到達。
我想在客戶端上創建一個通用方法來檢測它是哪個資源(如果它是CreateAccount或manageDemand)。
public TransactionResource getResource(String url){
Object obj = orb.string_to_object(url.toString());
如何決定這一點,如果我必須使用ManageDemandHelper或CreateAccountHelper縮小此obj?
Ex: ManageDemand transactionResource = ManageDemandHelper.narrow(obj);
return transactionResource;
}
我發現了這個問題的答案。 (obj._is_a(「IDL:transaction/CreateAccount:1.0」))if(obj._is_a(「IDL:transaction/CreateAccount:1.0」)) if(obj._is_a(「IDL:transaction/CreateAccount:1.0」)){ } { .. } –
你是對的。你可以創建一個答案並接受它嗎? – Makah