Нужно ли нам закрывать объект DBCPConnectionPool в пользовательском процессоре или он обрабатывается самой службой контроллера?
Я создал пользовательский процессор, который позаботится о сохранении некоторых записей в базе данных MySQL. Для настройки базы данных mysql я использую объект DBCPConnectionPool в моем пользовательском процессоре, который правильно выполняет сохранение данных в таблицы базы данных, но меня беспокоит механизм объединения, я не закрываю это соединение после завершения логики сохранения. Это работает для 2-3 потоковых файлов, но когда я отправлю несколько потоковых файлов, это будет работать правильно?
DBCPService dbcpService = context.getProperty(DBCP_SERVICE).asControllerService(DBCPService.class);
Connection con = dbcpService.getConnection();
Я ищу разъяснения, так как мой текущий поток работает правильно с меньшим количеством потокового файла
1 ответ
Вы должны вернуть его в пул, скорее всего, с помощью try-with-resource:
try (final Connection con = dbcpService.getConnection();
final PreparedStatement st = con.prepareStatement(selectQuery)) {
}
Вы всегда можете обратиться к стандартным процессорам, чтобы увидеть, что они делают: