Tim*_*imK 5 oracle jdbc oracle-xe
我有一些与Oracle-11g XE对话的单元测试.单独运行每个测试工作正常,但是当我全部运行它们时,前几个通过,其余的在尝试创建数据库连接时失败并出现此错误:
ORA-12516, TNS:listener could not find available handler with matching protocol stack
Run Code Online (Sandbox Code Playgroud)
无论我运行测试的顺序如何,都会发生这种情况,因此问题似乎是我在数据库服务器上使用了某种资源.
我尝试慢慢运行测试,并在运行期间检查正在使用的连接数:
select count(*) from v$session;
Run Code Online (Sandbox Code Playgroud)
会话数总是在26到28之间徘徊,限制设置为49,所以我不确定问题是什么.
如果我快速运行测试,问题也会变得更糟.当我在没有任何延迟的情况下运行它们时,90%会因此错误而失败.我在tearDown()中进行了一次睡眠,以便更好地了解发生了什么,在这种情况下只有大约10%的失败.