2011-12-19 51 views
4

我們有一個使用corba調用多個第三方系統的Java客戶端。這些是實現相同接口集合的不同系統。我們提供了庫(jar文件)來使用這些接口。例如,從這些庫目的之一是兼容Java類名稱

this.that.GeneralException 

現在我們必須連接到另一個外部系統,但是他們通過引入一些包的水平,像換了命名:

org.example.this.that.GeneralException 

我的猜測是,上面的類將被認爲是完全不同的。於是我做了一個老客戶的副本,切換到新的庫,並根據新的命名方式更改參考。 由於缺乏新系統的測試環境,我將該客戶端連接到其中一箇舊系統。而且,非常好,它工作得很好。

這是什麼有關corba或我在這裏失蹤?

編輯

剛剛收到照會的第三方開發者之一。實際上,這與corba無關。相反,他們正試圖維持其系統的向後兼容性。因此,他們將新的命名方案映射到舊的命名方案,現在正在同時提供兩個名稱下的界面。

回答

0

其實,這與corba沒有任何關係。相反,他們正試圖維持其系統的向後兼容性。因此,他們將新的命名方案映射到舊的命名方案,現在正在同時提供兩個名稱下的界面。

3

通常通過IDL生成CORBA的存根和骨架。 IDL定義的一部分定義了Java生成存根的情況下的包結構。通過更改客戶端接口類的包結構,您基本上已經實現了ORB在客戶端和服務器之間預期的合同。您遇到的唯一問題將是客戶端存根引用服務器上不存在的方法的位置。

+0

可以解決_problem_,看我上面的編輯。 – TPete 2011-12-20 07:57:14