私はリッチフェイス 3.3.3.Final を Seam と facelet で使用しています。
アプリケーションにプロファイラーをプラグインしましたが、奇妙な動作をしています。アプリケーションによってスローされたすべての例外をログに記録すると、10 分間で 10,000 を超える NoSuchFieldElementException が発生します。
多くの検索の後、私は問題を見つけました:
a4j:support によって ajax リクエストを開始すると、次の行 (199 ~ 202) で AjaxChildrenRenderer によって NoSuchFieldElementException がスローされます。
String componentType = (String) component.getClass().getField("COMPONENT_TYPE").get(null);
result = _specialComponentTypes.contains(componentType);
コンポーネント変数は UIInstructions であり、「COMPONENT_TYPE」フィールドはありません。したがって、例外は正常です。この例外は、ページに含まれる各 html ブロックに対してスローされます。例えば:
<h2>Test</h2>
<span></span>
html タグでブロックを再レンダリングすると、例外がスローされます。私は非常に複雑なページを持っているので、この例外の多くが発生します。
この例外を回避するにはどうすればよいですか? html ブロックのこのクラスに入るのを避けるためのパーサー オプションである可能性があります。
ご協力いただきありがとうございます。