X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms%2Fsrc%2Forg%2Fargeo%2Fcms%2Fsecurity%2FJcrKeyring.java;h=9aeb7602d8c9801ca4c43ebe76721bf727bdb027;hb=65512904dc32f25f1b70232e8cda2116f1b448aa;hp=bc233d07d5cc8eadeb451018cfb461f6bf510b4e;hpb=4a3d035a548b0cc9b448151bbb8894292e2e4bb3;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.cms/src/org/argeo/cms/security/JcrKeyring.java b/org.argeo.cms/src/org/argeo/cms/security/JcrKeyring.java index bc233d07d..9aeb7602d 100644 --- a/org.argeo.cms/src/org/argeo/cms/security/JcrKeyring.java +++ b/org.argeo.cms/src/org/argeo/cms/security/JcrKeyring.java @@ -193,9 +193,11 @@ public class JcrKeyring extends AbstractKeyring implements ArgeoNames { @Override protected synchronized void handleKeySpecCallback(PBEKeySpecCallback pbeCallback) { + Session session = null; try { - session().refresh(true); - Node userHome = NodeUtils.getUserHome(session()); + session = session(); + session.refresh(true); + Node userHome = NodeUtils.getUserHome(session); Node keyring; if (userHome.hasNode(ARGEO_KEYRING)) keyring = userHome.getNode(ARGEO_KEYRING); @@ -214,6 +216,8 @@ public class JcrKeyring extends AbstractKeyring implements ArgeoNames { // notYetSavedKeyring.remove(); } catch (RepositoryException e) { throw new ArgeoJcrException("Cannot handle key spec callback", e); + } finally { + JcrUtils.logoutQuietly(session); } }