根据经验,您可能需要查看 实现。可能您的数据库具有足够的容量,但是应用程序中的连接池仅限于少数几个连接。我不记得详细信息,但我似乎还记得有一个类似的问题,这是我改用BoneCP的原因之一,在负载测试下,我发现它非常快速且可靠。
在尝试了下面建议的调试之后,请尝试增加池中可用的连接数,看看是否有影响。
我今天确定了一些服务器代码,这些代码可能不是线程安全的,为此我进行了修复,但是问题仍然在发生(尽管不那么频繁)。这是非线程安全代码可能导致的那种问题吗?
这取决于您所说的线程安全。在我看来,您的应用程序正在导致线程死锁。您可能希望使用配置为允许调试器连接的JVM运行生产环境,然后使用JVisualVM,JConsole或其他分析工具(YourKit是出色的IMO)来窥视所拥有的线程以及它们的线程。在等待。