簡體   English   中英

網絡環境下的Java應用程序

[英]Java Application on network environment

我正在使用Java和MySQL數據庫開發應用程序,該應用程序是在網絡環境中工作的桌面應用程序。 啟動應用程序時,該應用程序具有一些從數據庫加載的靜態內容。 如果超級用戶對某些變量進行了某些更改,則我需要強制網絡用戶重新啟動應用程序,以便他們可以加載新變量。

我需要使用什么想法或代碼?

我不明白你到底需要做什么。 但是我通常要做的是告訴用戶所做的更改僅在應用程序重新啟動后才生效。 之后,用戶負責重新啟動應用程序。 如果您想自動執行此操作,則只需在更改后立即刷新更改的數據

該用例有很多解決方案。 我會為您的對象設置一個時間戳。 當管理員更改該對象時,時間戳將在服務器端更新為當前日期。 將對象交付給客戶端之后,客戶端必須將接收到的對象與客戶端當前使用的對象進行比較。 如果時間戳不相等,則可以顯示警告對話框。 如果您擁有該解決方案的體系結構,則很容易實現...

您可以實現這樣的事情。

觀察者模式

或者,也許您可​​以在數據庫中有一個“ ConfigTable”,其中包含屬性,值,到期時間。

因此,當管理員更新某些值時,網絡中的其他應用程序可以合並新值。

看看JGroups

關於池化方法,(我們沒有足夠的信息來為您提供最佳解決方案),您可以嘗試類似的方法。

具有ID,事件的Notification_table(事件是您所知道的,也許會加載新圖像,等等)

工作流程

1)客戶端每隔X秒從該表中進行一次池過濾,並以ID> lastNotificationId進行過濾(需要保存在本地文件中)2)客戶端應用新事件。 3)客戶端使用新的NotificationId更新本地文件。

為什么不將數據存儲在可以覆蓋值的容器中? 這樣,您不必重新啟動應用程序,只需即時刷新數據即可。

這樣,您可以重新定義MessageBundle的內容, Properties或用於存儲數據的任何容器對象。

暫無
暫無

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

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