public void commit() throws SimpleXAResourceException { if (logger.isDebugEnabled()) { logger.debug("Committing phase on StringPoolSession " + System.identityHashCode(this)); } if (state == COMMIT) { return; } else if (state != PREPARE) { throw new SimpleXAResourceException("Attempting to commit phase without preparing"); } state = COMMIT; synchronized (globalLock) { persistentStringPool.commit(); persistentNodePool.commit(); for (int i = 0; i < resources.length; i++) { resources[i].commit(); } } }