[Seasar-user:6466] Re: tomcatでコンテキストが開放されない?

Koichi Kobayashi [E-MAIL ADDRESS DELETED]
2007年 3月 2日 (金) 22:00:12 JST


小林 (koichik) です.

Date:    Wed, 28 Feb 2007 11:01:33 +0900
From:    "Takuya UESHIN" <[E-MAIL ADDRESS DELETED]>
To:       <[E-MAIL ADDRESS DELETED]>
Subject: [Seasar-user:6403] tomcatでコンテキストが開放されない?

> このことについていろいろ調べてみまして、怪しい点を発見しました。

調査ありがとうございます.

> org.seasar.framework.xml.SaxHandler(リビジョン1812)の84行目にて
> jarファイルからリソースを取得しているのですが、
> こちらが開放されていないのではないでしょうか。

この InputStream (とそれをラップする InputSource) については,
resolveEntity() を呼び出した側がクローズすべきものです.
resolveEntity() を呼び出すのは XML パーザで,多くの場合は
Xerces になります (JDK5.0 にバンドルされているものを含む).
そして Xerces はちゃんと InputStream をクローズしているため,
これが原因とは考えにくいです.

そんなわけで (どんなわけで?),

> ResourceUtilの修正はURLConnectionのキャッシュを避けるためです。
> これを入れなければ開放されませんでした。

こちらで確認した限りでは,この修正を取り込むだけで
S2 の Jar ファイルを削除することができるようになりました.
次のリリース (来週中の予定) に含めさせていただきます.
# 実際には,ResourceUtl ではなく,URLUtil を修正しました.


--
<signature>
   <name>Koichi Kobayashi</name>
   <e-mail>[E-MAIL ADDRESS DELETED]</e-mail>
</signature>




Seasar-user メーリングリストの案内