Я разрабатываю в среде JavaEE (weblogic 12), и часть моего кода использует JDBC; Поэтому мне нужно получить соединение JDBC с сервера приложений.
Я знаю, что использование JDBC в JavaEE — очень плохая практика, но этот код я не могу изменить (устаревший).
Я нашел способ сделать это, но я не уверен, что это правильный путь:
@Resource(mappedName="mydsjndipath")
private DataSource ds;
public void foo() {
Connection conn = ds.getConnection();
}
Вопрос в том, что мне делать с соединением в конце?
Я не могу зафиксировать/откатить его, потому что использую распределенную транзакцию. Но должен ли я хотя бы закрыть его?
И всегда ли транзакция JTA будет влиять на соединение (при фиксации/откате)?
Или, может быть, есть другой лучший способ использовать JDBC в JavaEE? (нет, собственные запросы EntityManager не подходят)