6月 14th, 2009

Tomcatクラスローダと優先順位

Posted in Tomcat by admin
    クラスロード順
      Bootstrap
          |
       System
          |
       Common
       |     |
  Webapp1   Webapp2 ...

Tomcatのドキュメントには? 記のようなクラスローダの読み込み優先順位が示されています。ここで注? しなければならないのは、ロードする順とアプリケーションがクラスファイルを優先利用する順は異なるということです。まず「Bootstrap classes of your JVM」「System class loader classses」ぜ JavaやTomcatのメタクラスなので? からロードされるクラスで? 書き出来ません(これを回避する「-Djava.endorsed.dirs」オプションも存在する)。しかし、個々のアプリケーション内でのみ利用可能な「WEB-INF」配下のクラスは、$CATALINA_HOME/$CATALINA_BASE配下のクラスよりも優先して、自身のローダを圏 照するようになっています。

Tomcat6.0.x
	↓ Bootstrap classes of your JVM ($JAVA_HOME, $JAVA_HOME/jre/lib/ext)
	↓ System class loader classses
		 (CLASSPATH定義ディレクトボ  $CATALINA_HOME/bin/bootstrap.jar,
		$CATALINA_HOME/bin/tomcat-juli.jar)
	↓ /WEB-INF/classes
	↓ /WEB-INF/lib/*.jar
	↓ $CATALINA_HOME/lib
	↓ $CATALINA_HOME/lib/*.jar
Tomcat5.5.x
	↓ Bootstrap classes of your JVM ($JAVA_HOME, $JAVA_HOME/jre/lib/ext)
	↓ System class loader classes
		(CLASSPATH定義ディレクトボ  $CATALINA_HOME/bin/bootstrap.jar,
		$JAVA_HOME/lib/tools.jar, $CATALINA_HOME/bin/commons-logging-api-x.y.z.jar,
		$CATALINA_HOME/bin/commons-daemon.jar )
	↓ /WEB-INF/classes
	↓ /WEB-INF/lib/*.jar
	↓ $CATALINA_HOME/common/classes
	↓ $CATALINA_HOME/common/endorsed/*.jar
	↓ $CATALINA_HOME/common/i18n/*.jar
	↓ $CATALINA_HOME/common/lib/*.jar
	↓ $CATALINA_BASE/shared/classes
	↓ $CATALINA_BASE/shared/lib/*.jar
Tomcat4.1.x
	↓ /WEB-INF/classes
	↓ /WEB-INF/lib/*.jar
	↓ Bootstrap classes of your JVM ($JAVA_HOME, $JAVA_HOME/jre/lib/ext)
	↓ System class loader classses
		(CLASSPATH定義ディレクトボ  $CATALINA_HOME/bin/bootstrap.jar,
		$JAVA_HOME/lib/tools.jar)
	↓ $CATALINA_HOME/common/classes
	↓ $CATALINA_HOME/common/endorsed/*.jar
	↓ $CATALINA_HOME/common/lib/*.jar
	↓ $CATALINA_BASE/shared/classes
	↓ $CATALINA_BASE/shared/lib/*.jar

http://tomcat.apache.org/tomcat-6.0-doc/class-loader-howto.html
http://tomcat.apache.org/tomcat-5.5-doc/class-loader-howto.html
http://tomcat.apache.org/tomcat-4.1-doc/class-loader-howto.html

“ Tomcat4.1では、callする側ぜ callされる側ぜ jarファイルを同一ディレクトリに置かなければ正しぜ ロードされないようです。例えば、JDBCドライバ”ojdbc14.jar”はコネクションプーリングライブラボ “commons-dbcp-1.2.2.jar”と同一のディレクトリに置かなければならない。或いは、ログ出力ライブラボ “log4j.jar”ぜ “commons-logging”の? み合゜ せ等も同様で、”log4j.properties”、”log4j.xml”設? ファイルだけは、「Dlog4j.configuration=file://(FilePath)」オプションを使用することでインスタンス? のファイルを指定することが可能となる。

log4jの件はやっかいでバ゜ (44908)にもなりかけています。
傍目にぜ web.xml上ぜ “session-timeout”付近ぜ XMLパースエラーのようにログ出力されるので、? 因を追圏 するのが? 介になっている気がします。

Parse error in default web.xml
org.apache.commons.logging.LogConfigurationException: User-specified log class
'org.apache.commons.logging.impl.Log4JLogger' cannot be found or is not
useable.
        at
org.apache.commons.digester.Digester.createSAXException(Digester.java:3181)
        at
org.apache.commons.digester.Digester.createSAXException(Digester.java:3207)
        at org.apache.commons.digester.Digester.endElement(Digester.java:1225)
・・ボ
You can leave a comment, or trackback from your own site. RSS 2.0

7 comments

  1. sữa tươi cho trẻ 1 tuổi says:

    always i used to read smaller articles which also clear their
    motive, and that is also happening with this piece of writing which I
    am reading now.

    10月 1st, 2018 at 15:12:29

  2. nam lim xanh giam can says:

    Excellent site you’ve got here.. It’s difficult to find high quality writing like yours nowadays.
    I truly appreciate individuals like you! Take care!!

    10月 3rd, 2018 at 11:08:23

  3. lệ phí công chứng mua bán nhà says:

    Wow! In the end I got a blog from where I be capable of really get
    useful facts concerning my study and knowledge.

    10月 6th, 2018 at 12:51:14

  4. tewkesbury lorry breakdown recovery says:

    You should take part in a contest for one of the best sites on the internet.
    I’m going to highly recommend this blog!

    11月 23rd, 2018 at 17:39:36

  5. Gloucester Electrician says:

    Nice post. I learn something totally new and challenging on websites I stumbleupon on a daily basis.
    It will always be helpful to read through articles from other writers and practice a little
    something from their sites.

    11月 26th, 2018 at 1:21:01

  6. Efrain says:

    Hello, this weekend is nice in support of me, forr the reason that this moment i am reading
    this great informative paragraph hete at my home.

    11月 28th, 2018 at 9:40:09

  7. breathability and damp Walls Ullenwood says:

    Hi my family member! I want too say that this
    article is awesome, nice witten and include approximately all significant infos.
    I’d likke to see more posts like this .

    12月 6th, 2018 at 12:49:36

Leave a comment