Groovy, как выполнить двухэтапную фиксацию? Может ли Sql.withTransaction управлять областью транзакций в нескольких базах данных?

Ну, я думаю, что мой вопрос говорит сам за себя. Мне нужно знать, поддерживает ли Groovy SQL двухэтапную фиксацию. На самом деле я программирую службу Grails, где хочу определить метод, который делает следующее:

Получить экземпляр SQL для базы данных 1, Получить экземпляр SQL для базы данных 2,

Откройте транзакцию как-нибудь: внутри транзакции вызовите две разные хранимые процедуры в каждой базе данных соответственно. Затем зафиксируйте как-то или откатите оба соединения, если это необходимо.

Я не нашел никакой полезной информации об этом нигде в Интернете.

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

Примечание. Я использую MySQL и драйвер mysql-connector. Спасибо, Алам Шер.


person ask-dev    schedule 12.08.2010    source источник


Ответы (1)


Текущая версия MySQL поддерживает двухэтапную фиксацию, если вы используете механизм хранения INNODB. Есть и другие ограничения.

Справочник по MySQL для двухэтапной фиксации

Groovy добавил «поддержку транзакций» в 1.7, но я не уверен, что они имеют в виду.

person Mike Sherrill 'Cat Recall'    schedule 12.01.2011