java.sql.SQLException:在play framwwork应用程序中,当autocommit = true时无法调用commit

时间:2016-03-14 22:16:41

标签: java playframework playframework-2.4

即使我正在通过java.sql.SQLException: Can't call commit when autocommit=true文件配置autocommit=false

,我的应用也在投掷application.conf

以下是我application.conf的详细信息:

db.abcd.driver=com.mysql.jdbc.Driver
 db.abcd.url="jdbc:mysql://localhost:3306/database_name?useSSL=false"
 db.abcd.username=root
 db.abcd.password=""

 db.abcd.autocommit=false

 db.abcd.isolation=READ_COMMITTED
 db.abcd.partitionCount=3
 db.abcd.maxConnectionsPerPartition=10
 db.abcd.minConnectionsPerPartition=5
 db.abcd.acquireIncrement=1
 db.abcd.acquireRetryAttempts=10
 db.abcd.acquireRetryDelay=5 seconds
 db.abcd.connectionTimeout=1 second
 db.abcd.idleMaxAge=10 minute
 db.abcd.idleConnectionTestPeriod=5 minutes
 db.abcd.logStatements=true
 db.abcd.maxConnectionAge=1 hour

播放框架版本:2.4

Java版本:1.8

2 个答案:

答案 0 :(得分:0)

这是在应用程序启动期间抛出和/或您是否正在使用evolution?禁用Evolution自动提交的语法如下:

play.evolutions.db.abcd.autocommit=false

答案 1 :(得分:0)

从Play 2.4开始,它不应该像db.abcd.prototype.hikaricp.autoCommit=false吗?虽然我自己从未使用过它。但是JDBC自动提交与Evolutions自动提交之间存在差异(https://www.playframework.com/documentation/2.4.x/SettingsJDBC#Reference)。