Hi,
we try to migrate from Jackrabbit 1.4.5 to 2.2.7. Starting the Jackrabbit
2.2.7 respository produces the following errors which I don't understand.
Reason: Already closed ????
--------------------------------------------------------------------------------------------
11:25:40.457 [http-8080-1] INFO o.a.jackrabbit.core.RepositoryImpl - Starting
repository...
11:25:41.596 [http-8080-1] ERROR o.a.j.core.util.db.DbUtility - failed to close
Statement
11:25:41.597 [http-8080-1] ERROR o.a.j.core.util.db.DbUtility - Reason:
Already closed
11:25:41.597 [http-8080-1] ERROR o.a.j.core.util.db.DbUtility - State/Code:
null/0
11:25:41.604 [http-8080-1] DEBUG o.a.j.core.util.db.DbUtility - dump:
java.sql.SQLException: Already closed
at
org.apache.commons.dbcp.PoolablePreparedStatement.close(PoolablePreparedStatement.java:76)
~[commons-dbcp-1.2.2.jar:
1.2.2]
at
org.apache.commons.dbcp.DelegatingStatement.close(DelegatingStatement.java:168)
~[commons-dbcp-1.2.2.jar:1.2.2]
at org.apache.jackrabbit.core.util.db.DbUtility.close(DbUtility.java:68)
[jackrabbit-core-2.2.7.jar:2.2.7]
at
org.apache.jackrabbit.core.util.db.ResultSetWrapper.invoke(ResultSetWrapper.java:63)
[jackrabbit-core-2.2.7.jar:2.2.
7]
at $Proxy0.close(Unknown Source) [na:na]
at org.apache.jackrabbit.core.util.db.DbUtility.close(DbUtility.java:61)
[jackrabbit-core-2.2.7.jar:2.2.7]
at org.apache.jackrabbit.core.util.db.DbUtility.close(DbUtility.java:47)
[jackrabbit-core-2.2.7.jar:2.2.7]
at
org.apache.jackrabbit.core.fs.db.DatabaseFileSystem$1.close(DatabaseFileSystem.java:678)
[jackrabbit-core-2.2.7.jar:
2.2.7]
at
org.apache.jackrabbit.core.nodetype.NodeTypeRegistry.loadCustomNodeTypeDefs(NodeTypeRegistry.java:874)
[jackrabbit-c
ore-2.2.7.jar:2.2.7]
at
org.apache.jackrabbit.core.nodetype.NodeTypeRegistry.<init>(NodeTypeRegistry.java:777)
[jackrabbit-core-2.2.7.jar:2.
2.7]
at
org.apache.jackrabbit.core.RepositoryImpl.createNodeTypeRegistry(RepositoryImpl.java:425)
[jackrabbit-core-2.2.7.jar
:2.2.7]
at
org.apache.jackrabbit.core.RepositoryImpl.<init>(RepositoryImpl.java:295)
[jackrabbit-core-2.2.7.jar:2.2.7]
at
org.apache.jackrabbit.core.RepositoryImpl.create(RepositoryImpl.java:605)
[jackrabbit-core-2.2.7.jar:2.2.7]
at
org.apache.jackrabbit.core.jndi.BindableRepository.createRepository(BindableRepository.java:141)
[jackrabbit-core-2.
2.7.jar:2.2.7]
at
org.apache.jackrabbit.core.jndi.BindableRepository.init(BindableRepository.java:117)
[jackrabbit-core-2.2.7.jar:2.2.
7]
at
org.apache.jackrabbit.core.jndi.BindableRepository.<init>(BindableRepository.java:106)
[jackrabbit-core-2.2.7.jar:2.
2.7]
at
org.apache.jackrabbit.core.jndi.BindableRepositoryFactory.getObjectInstance(BindableRepositoryFactory.java:52)
[jack
rabbit-core-2.2.7.jar:2.2.7]
at
org.apache.naming.factory.ResourceFactory.getObjectInstance(ResourceFactory.java:140)
[catalina.jar:6.0.29]
at javax.naming.spi.NamingManager.getObjectInstance(Unknown Source)
[na:1.6.0_26]
at org.apache.naming.NamingContext.lookup(NamingContext.java:793)
[catalina.jar:6.0.29]
at org.apache.naming.NamingContext.lookup(NamingContext.java:140)
[catalina.jar:6.0.29]
at org.apache.naming.NamingContext.lookup(NamingContext.java:781)
[catalina.jar:6.0.29]
at org.apache.naming.NamingContext.lookup(NamingContext.java:153)
[catalina.jar:6.0.29]
...
11:25:41.607 [http-8080-1] ERROR o.a.j.core.util.db.DbUtility - failed to close
Connection
11:25:41.607 [http-8080-1] ERROR o.a.j.core.util.db.DbUtility - Reason:
Connection is closed.
11:25:41.607 [http-8080-1] ERROR o.a.j.core.util.db.DbUtility - State/Code:
null/0
11:25:41.607 [http-8080-1] DEBUG o.a.j.core.util.db.DbUtility - dump:
java.sql.SQLException: Connection is closed.
at
org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.checkOpen(PoolingDataSource.java:175)
~[commons
-dbcp-1.2.2.jar:1.2.2]
at
org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.close(PoolingDataSource.java:180)
~[commons-dbc
p-1.2.2.jar:1.2.2]
......
-------------------------------------------------------------------------------------
The DB config file looks like this:
-------------------------------------------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<Workspace name="default">
<FileSystem
class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
<param name="driver"
value="com.mysql.jdbc.Driver"/>
<param name="url"
value="jdbc:mysql://localhost/flux_abgbks_experi_wl?autoReconnect=true"/>
<param name="schema" value="mysql"/>
<param name="schemaObjectPrefix" value=""/>
<param name="user" value="dev01"/>
<param name="password" value="xyz"/>
</FileSystem>
<PersistenceManager
class="org.apache.jackrabbit.core.persistence.pool.BundleDbPersistenceManager">
<param name="driver"
value="com.mysql.jdbc.Driver"/>
<param name="url"
value="jdbc:mysql://localhost/flux_abgbks_experi_wl"/>
<param name="schema" value="mysql"/>
<param name="schemaObjectPrefix" value=""/>
<param name="externalBLOBs" value="false"/>
<param name="user" value="dev01"/>
<param name="password" value="xyz"/>
</PersistenceManager>
<SearchIndex
class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
<param name="path"
value="${wsp.home}/index"/>
<param
name="respectDocumentOrder" value="true"/>
</SearchIndex>
</Workspace>
The context.xml of tomcat 6.0.29 looks like this:
<Context>
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<Resource name="jcr/flux_abgbks_experi_wl"
auth="Container"
type="javax.jcr.Repository"
factory="org.apache.jackrabbit.core.jndi.BindableRepositoryFactory"
configFilePath="D:/jcr_reps/instanzen/abgbks_experi_wl/config/abgbks.xml"
repHomeDir="D:/jcr_reps/jcr_data/abgbks_experi_wl"
/>
</Context>
--------------------------------------------------------------------------------------------------------------
Than the respository starts and everything seems to be okay (the webapp starts
as expected) and no father errors are thrown.
Since 2.2.7 a lot of logging is done, especially by lucene. We also use
Jackrabbit 1.4.5 which produces much less logging statements.
My question is how to avoid the reason for this DbUtility error messages.
Thanks and regards
Johann