Tomcatは共有ライブラリjarファイルの同じセットを共有します

Tomcatのリリースパッケージで展開より多くのプロジェクトでは、共有ライブラリの同じセットで制御、より多くのことなので、同じjarファイルの多くがロードされることは避けられない、メモリ領域恒久的存在の多くを取るだろうただjarファイルをロードするので、以下の利点があります。

1、同じjarファイルをロードするためのさまざまなプロジェクトを避けるために、恒久的な存在領域のメモリフットプリントを削減

2、それほど多くの繰り返しのjarファイルがロードされているため、起動速度のTomcatを改善

まず、共有ライブラリを設定する方法

一つの方法:

Catalina.propertiesは、CONFファイル内の構成パスのshared.loaderをファイルを変更します。

設定の絶対パス:

shared.loader = " D:HS / / libに/共有開発"" D:/ HS /開発/共有/ libに/ * jarファイル"

指定したフォルダに同じjarファイルの後。

または相対パス構成:

shared.loader = "$ {catalina.base} / / libの共有"、 "$ {catalina.base} /共有/ libに/ *。jarファイル"

confディレクトリの後とlibに同じjarファイルを新しい共有ディレクトリを作成します

第二の方法:

catalina.propertiesファイルの更新のconfファイル、構成common.loaderパス、追加の共有ライブラリのパス:

common.loader = "$ {catalina.base} / LIB"、 "$ {catalina.base} / LIB / *。JAR"、 "$ {catalina.home} / LIB"、 "$ {catalina.home} / LIB /*.jar」、"$ {catalina.home} / libに/共有/ *。jarファイル"

後libフォルダに共有ディレクトリを作成し、共有ディレクトリに同じjarファイル

二つと区別、catalina.homeとcatalina.base

Tomcatのでは、同じ場所、ディレクトリビンのような、すなわち、親ディレクトリにcatalina.baseポイントをcatalina.home。

これら二つの属性は、Tomcatの複数のインスタンスをインストールするために使用することができた場合のTomcatのbinおよびlibディレクトリだけ多くの公共Tomcatの一例であり、他のディレクトリのconf、ログ、一時、webappsの仕事の下でより多くのソフトウェアのバックアップディレクトリをインストールする必要はありません各Tomcatインスタンスは、独自の独立したバックアップです。その後、彼らは別の場所を指します。

  • catalina.home(インストールディレクトリ):公共の場所情報へのポイントは、binとlibディレクトリの親です。
  • catalina.base(作業ディレクトリ):各Tomcatのディレクトリ個人情報の場所を指し、つまり、confに、ログ、一時、Webアプリケーションと親ディレクトリの作業。

三、tomcat6クラスローディング機構

Commonclassloader:$ CATALINA_HOME / confに/ catalina.propertiesファイルを設定し、詳細な設定common.loaderを参照して、$ CATALINA_HOME / commonディレクトリの下にあるすべてのクラスとパッケージjarファイルをロードするための責任、クラスローダにロードクラスとServerクラスローダーのWebappクラスのローダーが表示され、Tomcatの起動時に作成したCommonclassローダは、親クラスローダは、システムクラスローダです。

クラスローダサーバ:Tomcatのクラスローダはserver.loader構成でcatalina.propretiesにより、$ CATALINE_HOME / serverディレクトリとjarファイルの下にあるすべてのクラスの中核を担っている指定し、Tomcatが起動したときに、それが作成され、その親ローダがCommonclassローダーです。

ローダーSharedclassは:Webアプリケーションの一般的なクラスのロードを担当し、ユーザーcatalina.properties shared.loader属性ファイルで指定することができ、一般的なクラスローダparentloaderでTomcatを、起動時には作成されます。

WebappClassLoader:それはWEB-INF / libの下のWEB-INF /クラスおよびクラス内の各アプリをロードするための唯一の責任である。parentloaderは、クラスローダを共有しているが、しかし、その戦略とデフォルトのクラスローディング機構は同じではありません読み込みます。

おすすめ

転載: www.cnblogs.com/kingsonfu/p/11360383.html