@Override public void close() { this.backend.close(); this.backend = PersistenceBackendFactoryRegistry.getFactoryProvider(uri.scheme()).createTransientBackend(); this.store = PersistenceBackendFactoryRegistry.getFactoryProvider(uri.scheme()).createTransientStore(this, backend); this.isPersistent = false; this.isLoaded = false; NeoLogger.info("{0} closed: {1}", PersistentResource.class.getSimpleName(), getURI()); }
/** * Constructs a new {@code DefaultPersistentResource} with the given {@code uri}. * * @param uri the {@link URI} of the resource */ public DefaultPersistentResource(URI uri) { super(uri); this.dummyRootEObject = new DummyRootEObject(this); this.backend = PersistenceBackendFactoryRegistry.getFactoryProvider(uri.scheme()).createTransientBackend(); this.store = PersistenceBackendFactoryRegistry.getFactoryProvider(uri.scheme()).createTransientStore(this, backend); this.isPersistent = false; PersistenceBackendShutdownHook.closeOnExit(backend, getURI()); NeoLogger.info("{0} created", PersistentResource.class.getSimpleName()); }