Apache Tomcatアプリケーションサーバーにデプロイするときのアプリケーションの重量を軽減します

多くの場合、必要な依存関係がすべて含まれているため、サーバーに配置するアプリケーションの重みは、非常に大きなサイズになります。 私のアプリケーションは最終的に20から50メートルかかります。 このような戦争をリモートサーバー、Tomcatに展開するのはほんの数分ではありませんが、通信が不十分な場合は完全に問題になります。 ライブラリを$ {tomcat.home} / libに配置することは非常にありがたく、しばしば危険なことです。 私たちは少しグーグルで調べて、DZoneで非常に快適な解決策を見つけました。 私はあなたと共有したい...



すぐに言いたいのは、この方法は主に猫を飼育し、ホスティング業者のサービスを使用しない人に適しているということです...



Tomcat APIのドキュメントを注意深く読んだ一人のDapeng Liuは、非常にライブラリを実装しました 。これはここから入手できます 。 実際、ライブラリは猫用のアプリケーションローダーの実装です。



仕組み:

  1. このライブラリを$ {tomcat.home} / libに配置します
  2. リポジトリフォルダーが$ {catalina.home}に作成されます。 リポジトリを含むフォルダーを作成します。 たとえば、休止状態を使用する場合、一度に複数のライブラリに依存します。 ディレクトリ$ {catalina.home} /repo/hibernate_3.3.0を作成し、そこに必要なすべてのライブラリを追加します。 特定のプロジェクトのリポジトリをすぐに作成し、必要なライブラリをすべて一度に配置できます。
  3. アプリケーションのコンテキストの説明を修正してください。 次のようになります。

    <Context path="/testapp">

    <Loader className='com.spiralcomms.tomcat.WebappLoader' />

    <lib>spring_2.5.6</lib>

    <lib>hibernate_3.3.0</lib>

    </Context>







  4. アプリケーションは、指定されたローダーによってデプロイされます。 デプロイメントが開始されると、ローダーはすべてのlibタグのコンテキストを調べ、$ {catalina.home} / repoフォルダーでそれらのリポジトリーを見つけ、ダウンロードに含めます




したがって、アプリケーションは20〜50メートルから1.5から2メートルに劇的に重量が減り、サーバーへのアップロード速度に何の影響も与えません。



もちろん、そのようなプロセスは開発者に制約を課します。 アプリケーションをレイアウトするとき、リポジトリを更新するためにライブラリがアプリケーションに追加されているかどうかを知る必要があります。



個人的には、サーバーへの弱いチャネルがあり、アプリケーションの変更に関して顧客と多くの作業がある場合、この方法は非常に役立ちます。 編集を行い、1日に最大20回サーバーにアップロードする必要があります。



PS見つかった解決策の元の説明はここにあります



All Articles