gpt4 book ai didi

spring - 无法在事务中间更改事务只读属性

转载 作者:行者123 更新时间:2023-11-29 11:48:29 24 4
gpt4 key购买 nike

我将 BoneCP 与 Postgresql 和 Spring JdbcTemplate 一起使用。当 JdbcTemplate 执行查询然后尝试关闭连接时,它得到这个异常:

org.postgresql.util.PSQLException: Cannot change transaction read-only property in the middle of a transaction. at org.postgresql.jdbc2.AbstractJdbc2Connection.setReadOnly(AbstractJdbc2Connection.java:725) at com.jolbox.bonecp.ConnectionHandle.setReadOnly(ConnectionHandle.java:1279) at com.jolbox.bonecp.ConnectionHandle.(ConnectionHandle.java:254) at com.jolbox.bonecp.ConnectionHandle.recreateConnectionHandle(ConnectionHandle.java:273) at com.jolbox.bonecp.ConnectionHandle.close(ConnectionHandle.java:476) at org.springframework.jdbc.datasource.DataSourceUtils.doCloseConnection(DataSourceUtils.java:341) at org.springframework.jdbc.datasource.DataSourceUtils.doReleaseConnection(DataSourceUtils.java:328) at org.springframework.jdbc.datasource.DataSourceUtils.releaseConnection(DataSourceUtils.java:294) at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:411) at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:456) at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:464) at org.springframework.jdbc.core.JdbcTemplate.queryForObject(JdbcTemplate.java:472) at org.springframework.jdbc.core.JdbcTemplate.queryForObject(JdbcTemplate.java:477)

由于它无法关闭连接,打开的连接数达到最大连接数,然后应用程序变得无响应。

我没有设置任何交易相关的属性。所以事务设置应该是默认的。我该如何解决这个问题?

依赖和配置:

bonecp 0.8.0-rc1postgresql 9.2-1002.jdbc4spring-jdbc 3.2.1.发布

<bean id="dataSource" class="com.jolbox.bonecp.BoneCPDataSource"        destroy-method="close">         <property name="driverClass" value="org.postgresql.Driver" />       <property name="jdbcUrl" value="jdbc:postgresql://127.0.0.1/mkayman" />         <property name="username" value="mkayman" />        <property name="password" value="" />       <property name="idleConnectionTestPeriodInMinutes" value="5" />         <property name="idleMaxAgeInMinutes" value="30" />      <property name="maxConnectionsPerPartition" value="5" />        <property name="minConnectionsPerPartition" value="2" />        <property name="partitionCount" value="2" />        <property name="acquireIncrement" value="1" />      <property name="statementsCacheSize" value="100" />     </bean>

最佳答案

我今天遇到了这个问题。您可能缺少 boneCP 所需的依赖项之一。

我缺少 SLF4J 库,并收到相同的消息。检查你是否有这里的依赖项:http://jolbox.com/index.html?page=http://jolbox.com/requirements.html

关于spring - 无法在事务中间更改事务只读属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15397840/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com