Как переключать динамические транзакции с помощью Spring? - PullRequest
1 голос
/ 27 марта 2012

Во-первых, большое спасибо за то, что прочитали меня.

У меня есть веб-приложение со следующей архитектурой:

WEB <-> ManagedBean (JSF) <-> Service <-> DAO
                                               -> DataBase 1
                                               -> DataBase 2
                                               -> DataBase n

Все вышеизложенное окружено Spring FrameWork и аннотацией "@Transaction" в интерфейсе Сервиса, например:

@Transactional("myDataSource")
public void doCommit( MyObject object );

Возможно ли динамическое изменение соединения с базой данных? Схемы точно такие же, но Мне нужно (в зависимости от параметра в ManagedBean) для использования различных менеджеры транзакций .

Я помещаю перехватчик в DAO и читаю файл гибернации, запускаю select и он работает, но в контексте транзакций это невозможно, поскольку Spring выполняет фиксацию в создаваемой транзакции.

СПАСИБО В ПРЕДЕЛАХ.

1 Ответ

0 голосов
/ 30 марта 2012

Возможно ли динамическое изменение соединения с базой данных?

Если вы используете транзакционные аннотации, единственным способом было бы изменить определение источника данных (в контексте вашего приложения).Но нет, вы не можете сделать это программно в одной только Java без изменения реализации транзакции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...