UnmappedResourceHandler
リソースフォルダー内に複合コンポーネントのxhtmlファイルをロードしているようです。その結果、メモリリークが徐々に増加しているようです。
リークは 内にありますFaceletViewHandlingStrategy.metadataCache
。ハッシュマップに依存し、上記のハンドラーが使用される場合、インスタンスUnmappedResources
のキーとして使用されCompositeComponentBeanInfo
ます。
が使用されていない場合UnmappedResourceHandler
、キーには が含まれますResourceImpl
。違いは、UnmappedResource
実装されていないequals()
ことResourceImpl
です。
@Override
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
ResourceImpl resource = (ResourceImpl) o;
return resourceInfo.equals(resource.resourceInfo);
}
したがって、問題は最初のケースCompositeComponentBeanInfo
で に何度も追加されるようmetadataCache
です。2 番目では、すべてが期待どおりに機能します。
他の誰かがこの問題を確認できますか?