簡體   English   中英

如何在服務器和客戶端等多個應用程序之間輕松維護RMI接口?

[英]How to easily maintain the RMI interfaces across multiple applications like server and client?

處理RMI的任何人都肯定會遇到這樣的難題:如何輕松維護與為其他客戶端應用程序提供遠程方法調用服務的對象的接口。 每當我們決定對接口中的方法聲明或添加/刪除方法進行較小更改時,我們都必須在將使用該接口從遠程服務器訪問RMI服務的所有客戶端中手動復制更改。

考慮擁有一個可下載的(可序列化的)代理,該代理具有客戶端使用的更穩定的接口,並使用遠程接口來完成其工作。 您可以使用代碼庫功能來確保其對所有客戶端的可用性。 代理需要包含存根。 您可以將代理綁定到注冊表,或從其他遠程方法返回它。

或者,使用JWS分發客戶端的新版本。

或者,更穩定地設計遠程接口,這樣就不必更改-:)

我想出的一個不錯的解決方法之一是

  1. 將RMI服務器提供的所有接口放在一個單獨的項目中,該項目在構建時會自動打包到jar文件中。
  2. 然后,只需將該jar文件添加為依賴項或添加到服務器應用程序的類路徑中即可,該應用程序旨在提供RMI服務以及要使用這些接口調用遠程方法的任何客戶端應用程序。

通過僅在一個位置進行更新,這將簡化維護RMI接口的任務。 在某些接口中更改方法簽名的額外工作將僅限於更改調用該方法的應用程序代碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM