Java と MySQL データベースを使用してアプリケーションを開発しています。このアプリケーションは、ネットワーク環境で動作するデスクトップ アプリケーションです。アプリケーションには、アプリケーションの起動時にデータベースからロードされるいくつかの静的コンテンツがあります。スーパーユーザーがいくつかの変数を変更した場合、ネットワークユーザーにアプリケーションを再起動して新しい変数をロードできるようにする必要があります。
どのアイデアまたはコードを使用する必要がありますか?
そのユースケースには多くの解決策があります。オブジェクトにタイムスタンプを設定します。管理者がそのオブジェクトを変更すると、タイムスタンプがサーバー側で現在の日付に更新されます。オブジェクトをクライアントに配信した後、クライアントは、受信したオブジェクトを、クライアント側で現在使用されているオブジェクトと比較する必要があります。タイムスタンプが等しくない場合は、警告ダイアログを表示できます。アーキテクチャがあれば、そのソリューションは非常に簡単に実装できます...
このようなものを実装できます。
または、データベースにプロパティ、値、有効期限を含む「ConfigTable」を含めることができます。
そのため、管理者が値を更新すると、ネットワーク内の他のアプリケーションが新しい値をプールできます。
プーリング アプローチに関しては (最善の解決策を提供するのに十分な情報がありません)、次のような方法を試すことができます。
ID、イベントを含む notification_table (イベントは、あなたが知っているもので、おそらく新しい画像をロードするなど)
ワークフロー
1) クライアントはこのテーブルから X 秒ごとにプールし、ID > lastNotificationId (ローカル ファイルに保存する必要があります) でフィルタリングします。 2) クライアントは新しいイベントを適用します。3) クライアントは、ローカル ファイルを新しい notificationId で更新します。
値を上書きできるコンテナにデータを保存してみませんか? この方法では、アプリケーションを再起動する必要はなく、オンザフライでデータを更新するだけです。
このようにしてMessageBundle
、 、Properties
、またはデータの保存に使用する任意のコンテナ オブジェクトの内容を再定義できます。
あなたが本当に何をする必要があるのか わかりません。しかし、私が通常行っていることは、アプリケーションが再起動された場合にのみ変更が有効になることをユーザーに伝えることです。その後、ユーザーはアプリケーションを再起動する責任があります。自動的に行いたい場合は、変更された時点で変更されたデータを更新するだけです