2009-07-31 14 views
1

私は.tagファイルでカスタムタグライブラリを作成しています。私は同時に2ページを読み込む場合を除いて、すべてがうまく動作します。 .tagファイルはすべてのリクエストで再コンパイルされ、並行処理によってコンパイルが失敗するようです。カスタムtaglib - .tagファイルはすべてのリクエストで再コンパイルされます。これは正常ですか?

.tagファイルの通常の動作ですか?私は彼らが一度だけコンパイルされることを期待していたでしょう。 再コンパイルを防止する方法はありますか?

.tagファイルはjarファイル内にあり、これはmy warファイルのlibディレクトリに含まれています。 JBoss 4.2.1にデプロイしています。

ありがとうございました。

答えて

1

JBossがリクエストごとにタグを再コンパイルしていることをどう知っていますか?直接的な証拠があるのか​​、並行性の問題だけがありますか?この並行性の問題は何ですか?スタックトレース?もしそうなら、投稿してください。

JBossがJSPまたはタグファイルをコンパイルするとき、コンパイラのバージョンはtmp/work /ディレクトリに保持されます(どちらが覚えていないか)。あなたがそれを見つけることができるかどうか見るためにそこを見てください(これは、tagfileに似た名前を持つ.classファイルになります)。タグが実際に毎回再コンパイルされる場合、そのファイルは毎回リフレッシュされます。 yoyがクラスファイルをまったく見つけることができない場合、JBossは一時的にコンパイルされたバージョンを作成できない可能性があります(ファイルのアクセス権の問題が原因かもしれない)ので、毎回再コンパイルする必要があります。

+0

作業ディレクトリの.javaファイルと.classファイルのタイムスタンプがすべての要求で更新されるため、毎回再コンパイルされていることがわかります。 あなたの答えは、実際には.tagを毎回再コンパイルするのが普通ではないようです。元の.tagファイルが変更された場合(チェックサムまたはタイムスタンプ?)、再コンパイルされることを理解しています。それを引き起こす他の状況? 私は現在stacktraceを持っていません(締め切りを守るために今放棄していなければなりません)。しかし、実際には並行再コンパイル時にしか失敗しないので、関係するとは思えません。 –

+0

これは、JSPコンパイラには並行性の問題がないので、それが何であるかは疑問です。 – skaffman

関連する問題