在分析Wildfly 10.1在高压情况下的一些性能问题时,我得出结论,有时并行HTTP线程会相互阻塞。
原因似乎是在某些HTTP请求中我们执行了两个JPQL查询(实际上是删除和选择),有时两个中的第二个根本没有从池中获得JDBC连接。 (我们使用IBM DB2,如果这很重要......)由于第一个语句已经建立连接,这似乎相当荒谬。
在阅读了Hibernate文档后,我发现hibernate.connection.release_mode
的默认值为after_statement
,并且不建议将after_transaction
用于JTA应用...
所以......我现在有几个问题:
after_statement
有意义? (除非你当然有auto_comit ......)after_transaction
?after_transaction
应该解决所描述的问题?感谢任何帮助!