I was able to create a simple test that reproduces the issue with Derby and Oracle, so I've opened JCR-2870 to track the problem. Does it make sense for the ConnectionFactory to be cleared once the TransientRepository shuts down? It doesn't look like the ConnectionFactory can be reused once it has its closed field set to true.
Thanks, Chris Schmidt -----Original Message----- From: Chris Schmidt [mailto:[email protected]] Sent: Tuesday, January 04, 2011 7:19 AM To: [email protected] Subject: RE: Configuration question with DataSource and TransientRepository The configuration file is similar to the standard/example configuration file. The only difference is it specifies a custom wrapper class for most items that delegate to either the JackRabbit Oracle or SqlServer instances depending on the database type the application is running against (we maintain a single configuration file and determine at runtime which database type is configured). Below is a tweaked version of the configuration file currently in use. I switched to use as many 'core' JackRabbit classes to help narrow where the problem is coming from (our custom code vs. Jackrabbit). I can get the same factory closed error with this configuration: <?xml version="1.0"?> <!DOCTYPE Repository PUBLIC "-//The Apache Software Foundation//DTD Jackrabbit 2.0//EN" "http://jackrabbit.apache.org/dtd/repository-2.0.dtd"> <Repository> <DataSources> <DataSource name="ds1"> <param name="driver" value="oracle.jdbc.driver.OracleDriver" /> <param name="url" value="jdbc:oracle:thin:@localhost:1521:orcl" /> <param name="user" value="user" /> <param name="password" value="password" /> <param name="databaseType" value="oracle"/> </DataSource> </DataSources> <!-- virtual file system where the repository stores global state (e.g. registered namespaces, custom node types, etc.) --> <FileSystem class="org.apache.jackrabbit.core.fs.db.OracleFileSystem"> <param name="schemaObjectPrefix" value="JCR_VFS_"/> <param name="dataSourceName" value="ds1"/> <param name="tableSpace" value="PDK_DAT"/> </FileSystem> <Security appName="Jackrabbit"> <AccessManager class="org.apache.jackrabbit.core.security.simple.SimpleAccessManager"> </AccessManager> <LoginModule class="org.apache.jackrabbit.core.security.simple.SimpleLoginModule"> <param name="anonymousId" value="anonymous"/> </LoginModule> </Security> <Workspaces rootPath="${rep.home}/workspaces" defaultWorkspace="default"/> <Workspace name="Jackrabbit Core"> <FileSystem class="org.apache.jackrabbit.core.fs.db.OracleFileSystem"> <param name="dataSourceName" value="ds1"/> <param name="schemaObjectPrefix" value="JCR_WSFS_"/> <param name="tableSpace" value="PDK_DAT"/> </FileSystem> <PersistenceManager class="org.apache.jackrabbit.core.persistence.pool.OraclePersistenceManager"> <param name="dataSourceName" value="ds1"/> <param name="schemaObjectPrefix" value="JCR_BNDL_WSPM_"/> <param name="tableSpace" value="PDK_DAT"/> </PersistenceManager> <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex"> <param name="path" value="${rep.home}/lucene/index"/> <param name="indexingConfiguration" value="${rep.home}/../../../jcr/indexing_configuration.xml"/> </SearchIndex> </Workspace> <Versioning rootPath="${rep.home}/version"> <FileSystem class="org.apache.jackrabbit.core.fs.db.OracleFileSystem"> <param name="dataSourceName" value="ds1"/> <param name="schemaObjectPrefix" value="JCR_VERFS_"/> <param name="tableSpace" value="PDK_DAT"/> </FileSystem> <PersistenceManager class="org.apache.jackrabbit.core.persistence.pool.OraclePersistenceManager"> <param name="dataSourceName" value="ds1"/> <param name="schemaObjectPrefix" value="JCR_BNDL_VERPM_"/> <param name="tableSpace" value="PDK_DAT"/> </PersistenceManager> </Versioning> <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex"> <param name="path" value="${rep.home}/lucene/repository/index"/> </SearchIndex> <Cluster syncDelay="60000"> <Journal class="org.apache.jackrabbit.core.journal.OracleDatabaseJournal"> <param name="schemaObjectPrefix" value="JCR_JNL_"/> <param name="tableSpace" value="PDK_DAT"/> <param name="dataSourceName" value="ds1"/> </Journal> </Cluster> </Repository> -----Original Message----- From: Thomas Mueller [mailto:[email protected]] Sent: Tuesday, January 04, 2011 2:07 AM To: [email protected] Subject: Re: Configuration question with DataSource and TransientRepository Hi, How does your configuration files look like? Regards, Thomas
