Java 如何解决MySQL锁超时错误?

Java 如何解决MySQL锁超时错误?,java,mysql,jdbc,timeout,rowlocking,Java,Mysql,Jdbc,Timeout,Rowlocking,我在应用程序日志中多次遇到下面列出的错误 2015-05-19 10:27:57,842 ERROR [Timer-3] [org.hibernate.util.JDBCExceptionReporter] Lock wait timeout exceeded; try restarting transactionCouldn't retrieve InnoDB stat us due to underlying exception: BEGIN NESTED EXCEPTION ** com

我在应用程序日志中多次遇到下面列出的错误

2015-05-19 10:27:57,842 ERROR [Timer-3] [org.hibernate.util.JDBCExceptionReporter] Lock wait timeout exceeded; try restarting transactionCouldn't retrieve InnoDB stat
us due to underlying exception:

BEGIN NESTED EXCEPTION **
com.mysql.jdbc.exceptions.MySQLSyntaxErrorException
MESSAGE: Access denied; you need (at least one of) the PROCESS privilege(s) for this operation

STACKTRACE:

com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Access denied; you need (at least one of) the PROCESS privilege(s) for this operation
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:936)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2985)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1631)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1723)
我知道,当一个线程锁定了表的特定行,而第二个线程正在等待它,并且等待时间超过了一定的时间量时,可能会发生此错误

但如何优化MySQL配置或代码来克服这种情况呢

我已经阅读了有关隔离级别的内容,并且已经将隔离级别设置为
readcommitted

除了我提到的以外,还有什么专家建议/解决方案吗