2013-09-03 2 views
0

С помощью Hibernate и Spring мое приложение должно получить возможность управлять соединением в начале и в конце каждого обновления базы данных. Наше первое предположение заключалось в том, чтобы переопределить диспетчер транзакций, но это похоже на некоторые побочные эффекты от прерывистого «Предварительно связанного соединения JDBC»! ошибка для других, более сложных для описания симптомов.Подключение/приемник приема/приема?

Что является лучшим/простым способом получить эту оппоницию. Я видел, что кто-то предлагает переопределить источник данных, а затем обернуть соединение, но это действительно лучшая идея? Обертка соединения кажется опасной, особенно потому, что у Websphere есть своя версия (WSconnection).

Идеи?

ответ

0

Манипуляция с соединением делается проще всего, когда выполняется DataSource.getConnection, так что вы точно знаете, что что-то произойдет. Таким образом, вы можете просто создать DataSourceProxy/-Wrapper (дать ему имя), который сделает это. Есть одна вещь, о которой вам нужно позаботиться, и, возможно, по завершении соединения, что вы отмените манипуляцию (если это необходимо, то есть).

Вместо создания прокси-сервера вы можете использовать некоторый AOP для выполнения кода (например, в this answer.