[
https://issues.apache.org/jira/browse/JCR-3169?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13162695#comment-13162695
]
Sascha Theves commented on JCR-3169:
------------------------------------
One more information: I am using one single DataSource to specify my database
connection for the filesystems and persistence manager. It seems that the
DerbyPersistenceManager does not consider the database in its init() method. It
always uses the EmbeddedDerbyDriver because it doesn`t lookup the driver from
the data source.
> Exception when shutting down Jackrabbit using a NOT embedded Derby database
> ---------------------------------------------------------------------------
>
> Key: JCR-3169
> URL: https://issues.apache.org/jira/browse/JCR-3169
> Project: Jackrabbit Content Repository
> Issue Type: Bug
> Components: jackrabbit-core
> Affects Versions: 2.2.9
> Environment: Windows XP, Derby 10.4.2 with
> org.apache.derby.jdbc.ClientDriver
> Reporter: Sascha Theves
> Priority: Minor
>
> You get an exception when shutting down Jackrabbit if you use a Derby
> database and org.apache.derby.jdbc.ClientDriver as driver:
> {code}
> 2011-12-05 10:20:01,554 [main] [ERROR] (o.a.j.c.f.d.DatabaseFileSystem:425) -
> failed to check existence of folder: /
> org.apache.commons.dbcp.SQLNestedException: Borrow prepareStatement from pool
> failed
> at
> org.apache.commons.dbcp.PoolingConnection.prepareStatement(PoolingConnection.java:113)
> ~[commons-dbcp-1.3.jar:1.3]
> at
> org.apache.commons.dbcp.DelegatingConnection.prepareStatement(DelegatingConnection.java:281)
> ~[commons-dbcp-1.3.jar:1.3]
> at
> org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.prepareStatement(PoolingDataSource.java:313)
> ~[commons-dbcp-1.3.jar:1.3]
> at
> org.apache.jackrabbit.core.util.db.ConnectionHelper.reallyExec(ConnectionHelper.java:355)
> ~[jackrabbit-core-2.2.9.jar:2.2.9]
> at
> org.apache.jackrabbit.core.util.db.ConnectionHelper$3.call(ConnectionHelper.java:339)
> ~[jackrabbit-core-2.2.9.jar:2.2.9]
> at
> org.apache.jackrabbit.core.util.db.ConnectionHelper$3.call(ConnectionHelper.java:335)
> ~[jackrabbit-core-2.2.9.jar:2.2.9]
> at
> org.apache.jackrabbit.core.util.db.ConnectionHelper$RetryManager.doTry(ConnectionHelper.java:458)
> ~[jackrabbit-core-2.2.9.jar:2.2.9]
> at
> org.apache.jackrabbit.core.util.db.ConnectionHelper.exec(ConnectionHelper.java:335)
> ~[jackrabbit-core-2.2.9.jar:2.2.9]
> at
> org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.isFolder(DatabaseFileSystem.java:418)
> [jackrabbit-core-2.2.9.jar:2.2.9]
> at
> org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.getOutputStream(DatabaseFileSystem.java:703)
> [jackrabbit-core-2.2.9.jar:2.2.9]
> at
> org.apache.jackrabbit.core.fs.FileSystemResource.getOutputStream(FileSystemResource.java:174)
> [jackrabbit-core-2.2.9.jar:2.2.9]
> at
> org.apache.jackrabbit.core.lock.LockManagerImpl.save(LockManagerImpl.java:334)
> [jackrabbit-core-2.2.9.jar:2.2.9]
> at
> org.apache.jackrabbit.core.lock.LockManagerImpl.close(LockManagerImpl.java:218)
> [jackrabbit-core-2.2.9.jar:2.2.9]
> at
> org.apache.jackrabbit.core.RepositoryImpl$WorkspaceInfo.doDispose(RepositoryImpl.java:2222)
> [jackrabbit-core-2.2.9.jar:2.2.9]
> at
> org.apache.jackrabbit.core.RepositoryImpl$WorkspaceInfo.dispose(RepositoryImpl.java:2157)
> [jackrabbit-core-2.2.9.jar:2.2.9]
> at
> org.apache.jackrabbit.core.RepositoryImpl.doShutdown(RepositoryImpl.java:1114)
> [jackrabbit-core-2.2.9.jar:2.2.9]
> at
> org.apache.jackrabbit.core.RepositoryImpl.shutdown(RepositoryImpl.java:1065)
> [jackrabbit-core-2.2.9.jar:2.2.9]
> ...
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> ~[na:1.6.0_23]
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> ~[na:1.6.0_23]
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> ~[na:1.6.0_23]
> at java.lang.reflect.Method.invoke(Method.java:597) ~[na:1.6.0_23]
> at
> org.springframework.beans.factory.support.DisposableBeanAdapter.invokeCustomDestroyMethod(DisposableBeanAdapter.java:273)
> [spring-beans-3.0.5.RELEASE.jar:3.0.5.RELEASE]
> at
> org.springframework.beans.factory.support.DisposableBeanAdapter.destroy(DisposableBeanAdapter.java:199)
> [spring-beans-3.0.5.RELEASE.jar:3.0.5.RELEASE]
> at
> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroyBean(DefaultSingletonBeanRegistry.java:487)
> [spring-beans-3.0.5.RELEASE.jar:3.0.5.RELEASE]
> at
> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingleton(DefaultSingletonBeanRegistry.java:463)
> [spring-beans-3.0.5.RELEASE.jar:3.0.5.RELEASE]
> at
> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingletons(DefaultSingletonBeanRegistry.java:431)
> [spring-beans-3.0.5.RELEASE.jar:3.0.5.RELEASE]
> at
> org.springframework.context.support.AbstractApplicationContext.destroyBeans(AbstractApplicationContext.java:1048)
> [spring-context-3.0.5.RELEASE.jar:3.0.5.RELEASE]
> at
> org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:1022)
> [spring-context-3.0.5.RELEASE.jar:3.0.5.RELEASE]
> at
> org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:970)
> [spring-context-3.0.5.RELEASE.jar:3.0.5.RELEASE]
> at
> org.springframework.web.context.ContextLoader.closeWebApplicationContext(ContextLoader.java:378)
> [spring-web-3.0.5.RELEASE.jar:3.0.5.RELEASE]
> at
> org.springframework.web.context.ContextLoaderListener.contextDestroyed(ContextLoaderListener.java:78)
> [spring-web-3.0.5.RELEASE.jar:3.0.5.RELEASE]
> at
> org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:3869)
> [catalina.jar:na]
> at
> org.apache.catalina.core.StandardContext.stop(StandardContext.java:4503)
> [catalina.jar:na]
> at org.apache.catalina.core.ContainerBase.stop(ContainerBase.java:1098)
> [catalina.jar:na]
> at org.apache.catalina.core.ContainerBase.stop(ContainerBase.java:1098)
> [catalina.jar:na]
> at
> org.apache.catalina.core.StandardEngine.stop(StandardEngine.java:448)
> [catalina.jar:na]
> at
> org.apache.catalina.core.StandardService.stop(StandardService.java:584)
> [catalina.jar:na]
> at
> org.apache.catalina.core.StandardServer.stop(StandardServer.java:744)
> [catalina.jar:na]
> at org.apache.catalina.startup.Catalina.stop(Catalina.java:616)
> [catalina.jar:na]
> at org.apache.catalina.startup.Catalina.start(Catalina.java:591)
> [catalina.jar:na]
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> ~[na:1.6.0_23]
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> ~[na:1.6.0_23]
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> ~[na:1.6.0_23]
> at java.lang.reflect.Method.invoke(Method.java:597) ~[na:1.6.0_23]
> at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
> [bootstrap.jar:na]
> at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
> [bootstrap.jar:na]
> Caused by: java.sql.SQLNonTransientConnectionException: Es wurde ein
> Netzprotokollfehler gefunden. Die Verbindung wurde beendet. Der angeforderte
> Befehl hat eine implementierungsspezifische, nicht in der Spezifikation
> enthaltene Bedingung festgestellt, für die keine Nachricht implementiert ist.
> at
> org.apache.derby.client.am.SQLExceptionFactory40.getSQLException(Unknown
> Source) ~[derbyclient-10.4.2.0.jar:na]
> at org.apache.derby.client.am.SqlException.getSQLException(Unknown
> Source) ~[derbyclient-10.4.2.0.jar:na]
> at org.apache.derby.client.am.Connection.prepareStatement(Unknown
> Source) ~[derbyclient-10.4.2.0.jar:na]
> at
> org.apache.commons.dbcp.PoolingConnection.makeObject(PoolingConnection.java:285)
> ~[commons-dbcp-1.3.jar:1.3]
> at
> org.apache.commons.pool.impl.GenericKeyedObjectPool.borrowObject(GenericKeyedObjectPool.java:1179)
> ~[commons-pool-1.5.4.jar:1.5.4]
> at
> org.apache.commons.dbcp.PoolingConnection.prepareStatement(PoolingConnection.java:107)
> ~[commons-dbcp-1.3.jar:1.3]
> ... 47 common frames omitted
> Caused by: org.apache.derby.client.am.DisconnectException: Es wurde ein
> Netzprotokollfehler gefunden. Die Verbindung wurde beendet. Der angeforderte
> Befehl hat eine implementierungsspezifische, nicht in der Spezifikation
> enthaltene Bedingung festgestellt, für die keine Nachricht implementiert ist.
> at org.apache.derby.client.net.NetConnectionReply.parseCMDCHKRM(Unknown
> Source) ~[derbyclient-10.4.2.0.jar:na]
> at
> org.apache.derby.client.net.NetStatementReply.parsePrepareError(Unknown
> Source) ~[derbyclient-10.4.2.0.jar:na]
> at
> org.apache.derby.client.net.NetStatementReply.parsePRPSQLSTTreply(Unknown
> Source) ~[derbyclient-10.4.2.0.jar:na]
> at
> org.apache.derby.client.net.NetStatementReply.readPrepareDescribeOutput(Unknown
> Source) ~[derbyclient-10.4.2.0.jar:na]
> at
> org.apache.derby.client.net.StatementReply.readPrepareDescribeOutput(Unknown
> Source) ~[derbyclient-10.4.2.0.jar:na]
> at
> org.apache.derby.client.net.NetStatement.readPrepareDescribeOutput_(Unknown
> Source) ~[derbyclient-10.4.2.0.jar:na]
> at
> org.apache.derby.client.am.Statement.readPrepareDescribeOutput(Unknown
> Source) ~[derbyclient-10.4.2.0.jar:na]
> at
> org.apache.derby.client.am.PreparedStatement.readPrepareDescribeInputOutput(Unknown
> Source) ~[derbyclient-10.4.2.0.jar:na]
> at
> org.apache.derby.client.am.PreparedStatement.flowPrepareDescribeInputOutput(Unknown
> Source) ~[derbyclient-10.4.2.0.jar:na]
> at org.apache.derby.client.am.PreparedStatement.prepare(Unknown Source)
> ~[derbyclient-10.4.2.0.jar:na]
> at org.apache.derby.client.am.Connection.prepareStatementX(Unknown
> Source) ~[derbyclient-10.4.2.0.jar:na]
> ... 51 common frames omitted
> {code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira