Tidak tahu apakah ini akan menjadi jawaban semua orang, tetapi setelah menggali, inilah yang kami dapatkan.
Kesalahan ini jelas disebabkan oleh fakta bahwa pendengar tidak menerima koneksi, tetapi mengapa kami mendapatkan kesalahan itu ketika tes lain dapat terhubung dengan baik (kami juga dapat menghubungkan tanpa masalah melalui sqlplus)? Kunci dari masalah ini bukanlah karena kami tidak dapat terhubung, tetapi karena berintermiten
Setelah beberapa penyelidikan, kami menemukan bahwa ada beberapa data statis yang dibuat selama penyiapan kelas yang akan membuat koneksi tetap terbuka selama masa pakai kelas uji, membuat yang baru saat berjalan. Sekarang, meskipun semua sumber daya dilepaskan dengan benar saat kelas ini keluar dari cakupan (tentu saja melalui blok{} akhirnya), ada beberapa kasus selama proses ketika kelas ini akan menelan semua koneksi yang tersedia (oke, buruk peringatan latihan - ini adalah kode pengujian unit yang terhubung secara langsung daripada menggunakan kumpulan, sehingga masalah yang sama tidak dapat terjadi dalam produksi).
Cara mengatasinya adalah dengan tidak membuat kelas itu statis dan dijalankan di penyiapan kelas, melainkan menggunakannya dalam metode per setUp dan metode tearDown.
Jadi, jika Anda mendapatkan kesalahan ini di aplikasi Anda sendiri, tampar profiler pada bocah nakal itu dan lihat apakah Anda mungkin mengalami kebocoran koneksi. Semoga membantu.