public void release() throws SimpleXAResourceException { if (logger.isDebugEnabled()) { logger.debug("Release phase on StringPoolSession " + System.identityHashCode(this)); } if (state == RELEASE) { return; } else if (state != COMMIT && state != ROLLBACK) { throw new SimpleXAResourceException("Attempting to release phase without commit or rollback"); } state = RELEASE; persistentStringPool.release(); persistentNodePool.release(); // TODO determine if release() should be called for the temp components. //temporaryStringPool.release(); //temporaryNodePool.release(); for (int i = 0; i < resources.length; i++) { resources[i].release(); } }