1

私はJavaサーバー側アプリケーションを作成していますが、Appleがそれ自体を更新できるように、組み込みの機能を提供したいと思います。アプリケーションがサーバーをポーリングするようにしたいのですが、更新できる新しいバージョンがある場合は、ユーザーが更新コマンドをアクティブ化できるようにする必要があります。

この更新中に次のことが発生するようにしたいと思います。

  • 新しいバージョンの新しいJARファイルをダウンロードする
  • そのJARの内容をメインアプリケーションにリロードします
  • 古いJARから古いクラスをアンロードします

理想的には、このプロセス中にアプリケーションのPIDを変更せずに、これを実現したいと思います。

ジェンキンスはこれを行っていると思いますが、私は彼らがどのようにそうすることができるかを正確に理解することができませんでした。

4

1 に答える 1

0

アンロード/ロード手法は、アプリ コンテナーにデプロイされた Java EE アプリケーションの標準であり、無料で入手できます。

唯一の問題は、更新をプログラムで管理する方法です。コンテナ固有のものになるはずです。Java EE コンテナーにデプロイしない場合は、カスタム クラスローダーの詳細を詳しく調べる必要があります。しかし、クラスをアンロードするだけではありません。アプリは、適切にシャットダウンする必要があるスレッドを開始したり、ソケットを開いたりしている可能性があります。

于 2012-05-13T11:20:55.153 に答える