問題点

次のいずれかまたは両方のエラーが AEM ログにランダムに記録されます。

java.lang.IllegalStateException:This session has been closed at

java.lang.IllegalStateException: Resource resolver is already closed.

原因

この問題は、同じ ResourceResolver をマルチスレッドで使用したことや、独自のコードで開いていない ResourceResolver または javax.jcr.Session を閉じたことが原因で発生する場合があります。

解決策

SlingRequest または WorkflowSession で取得された Session オブジェクトおよび ResourceResolver オブジェクトは、アプリケーションによって閉じられません。以下に例を挙げます。

slingRequest.getResourceResolver().adaptTo(Session.class);
//または
workflowSession.getSession();

このリゾルバーまたはセッションは、リクエストが処理された後に自動的に閉じられます。

本作品は Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License によってライセンス許可を受けています。  Twitter™ および Facebook の投稿には、Creative Commons の規約内容は適用されません。

法律上の注意   |   プライバシーポリシー