spring postgresql事务并行执行错误
我已经用spring postgresql事务并行执行错误,spring,postgresql,spring-security,spring-security-oauth2,Spring,Postgresql,Spring Security,Spring Security Oauth2,我已经用spring-security-oauth创建了。起初,当多个线程尝试作为同一用户进行身份验证时,在加载下创建access_令牌时出现问题。这是固定的。这解决了H2/Oracle数据库的问题。不幸的是,这个修复程序不适用于postgre数据库,我也不知道如何正确设置事务(我在@Transactional上尝试了所有隔离,但没有成功)。如果有人能告诉我一些文档/博客,或者告诉我如何在postgresql中调整事务,那就太好了 谢谢 编辑: 对于隔离.DEFAULT,隔离.READ_COMM
spring-security-oauth
创建了。起初,当多个线程尝试作为同一用户进行身份验证时,在加载下创建access_令牌时出现问题。这是固定的。这解决了H2/Oracle数据库的问题。不幸的是,这个修复程序不适用于postgre数据库,我也不知道如何正确设置事务(我在@Transactional
上尝试了所有隔离,但没有成功)。如果有人能告诉我一些文档/博客,或者告诉我如何在postgresql中调整事务,那就太好了
谢谢
编辑:
对于隔离.DEFAULT
,隔离.READ_COMMITTED
,隔离.READ_UNCOMMITTED
我得到一个例外:
{
"error" : "server_error",
"error_description" : "PreparedStatementCallback; uncategorized SQLException for SQL [select token_id, token from oauth_access_token where authentication_id = ?]; SQL state [25P02]; error code [0]; ERROR: current transaction is aborted, commands ignored until end of transaction block; nested exception is org.postgresql.util.PSQLException: ERROR: current transaction is aborted, commands ignored until end of transaction block"
}
奇怪的是,对于隔离.REPEATABLE_READ
和隔离.SERIALIZABLE
我得到了以下信息:
{
"error" : "unsupported_grant_type",
"error_description" : "Unsupported grant type: password"
}
我不太了解postgresql中的事务传播和配置:(请发送完整的stacktracewell异常被抑制,但我将尝试用记录在那里的异常更新问题。