Javacore | Заблокированная тема | PhysicalConnection.isClosed | JDBC - PullRequest
0 голосов
/ 27 мая 2020

Веб-приложение с Spring MVC и JDB C развернуто в websphere, и почти ежедневно я мог видеть 2-4 генерируемых файла javacore. Проанализировав эти файлы с помощью IBM jca.jar, я обнаружил ниже проблемы, из-за которых поток фактически БЛОКИРУЕТСЯ

Состояние - Заблокировано

Монитор - Ожидание блокировки монитора на oracle / jdbc / driver / T4CConnection@0x00000000C889BAE0

Java Стек - в oracle / jdbc / driver / PhysicalConnection.isClosed (PhysicalConnection. java: 1481 (Скомпилированный код))

Действие триггера - Получено 1 событие дампа TISIGINFO «пользователь» (00004000)

Следующая строка ошибки обозначает функцию, которая вызывает метод isClosed().

В коде я мог видеть строки ниже.

boolean validateConnection(Connection connection){
      if(connection != null && !connection.isClosed()){
             return true;
     }
  return false;
}

Вышеупомянутый метод вызывается для каждого HTTP-запроса, сделанного пользователем, и сеанс привязан к HTTP-сеансу.

Но когда и как создается этот javacore, я не понимаю.

Я вижу следующую ссылку , которая выглядит связанной с этой проблемой.

Oracle Зависимость

<dependency>
    <groupId>com.oracle</groupId>
    <artifactId>ojdbc14</artifactId>
    <version>10.2.0.3.0</version>
</dependency>

Oracle Версия - Oracle Database 11g Enterprise Edition Release 11.2.0.4.0

Версия Websphere - 8.5.5.17

...