[Seasar-user:14627] Re: [teeda] ClassNotFoundRuntimeException の発生

Koichi Kobayashi [E-MAIL ADDRESS DELETED]
2008年 6月 10日 (火) 18:30:06 JST


小林 (koichik) です.

Date:    Tue, 10 Jun 2008 16:56:31 +0900
From:    "M Higashi" <[E-MAIL ADDRESS DELETED]>
To:      [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:14622] [teeda] ClassNotFoundRuntimeException の発生

> 下記のエラーが突然発生するようになりました。ちょっと心当たりがなく、お助け願います。
> 一度発生すると、Tomcatを再起動しても同じエラーが出続けます。
> Eclipseを再起動すれば出ませんが、2回目ぐらいのリクエストで発生し、以後同じ状況になります。
> 
> org.apache.catalina.connector.ClientAbortException
> ↑のクラスが見つからないということなのですが、バージョンの組み合わせがおかしいのでしょうか?

ClientAbortException という例外クラスは Web アプリ
(WebappClassLoader) から見えないようになっている
のでしょう.

この例外は,レンダリング結果を出力する前に
クライアント (ブラウザ) がコネクションを切断した
場合にスローされるもので,通常はエラー扱いする
必要はなく,無視するように設定することができます.

teedaCustomize.dicon の

<component class="org.seasar.teeda.core.util.DefaultCancelHandler">
  <initMethod name="addCancellableException">
    <arg>@[E-MAIL ADDRESS DELETED]</arg>
  </initMethod>
</component>

に

  <initMethod name="addCancellableException">
    <arg>"org.apache.catalina.connector.ClientAbortException"</arg>
  </initMethod>

を追加してください.
# クラス名は文字列で.

これで ClientAbortException をエラーページで
扱う必要がなくなり,ClassNotFoundRuntimeException も
発生しなくなると思います.


-- 
<component name="koichik">
    <property name="fullName">"Koichi Kobayashi"</property>
    <property name="email">"[E-MAIL ADDRESS DELETED]"</property>
    <property name="blog">"http://d.hatena.ne.jp/koichik"</property>
</component>



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