Каковы примеры нетранзакционных источников данных? - PullRequest
4 голосов
/ 23 октября 2009

В документации JBoss есть возможность объявить <no-tx-datasource>, которая гласит:

no-tx-datasource : Этот элемент используется для указания конфигурации службы (org.jboss.resource.connectionmanager) NoTxConnectionManager. NoTxConnectionManager - это менеджер соединений JCA без поддержки транзакций.

Мне любопытно, что может быть связано с такого рода источником данных? Ldap? Каковы практические варианты использования или примеры с открытым исходным кодом для такой конфигурации?

Ответы [ 2 ]

5 голосов
/ 23 октября 2009

Доступ к базе данных только для чтения - самый простой вариант использования, о котором я могу подумать. Другим приложением будет управление самим состоянием транзакции. И еще, если вы хотите использовать соединение, которое не будет участвовать в глобальной транзакции JTA. Последнее происходит в Кварце (см. JobStoreCMT ).

Но, в то время как поиск в Google (это хороший вопрос!), Я нашел больше вдохновения в разделе Использование нетранзакционных соединений документации сервера приложений Sun:

Основным преимуществом использования нетранзакционных соединений является то, что избегаются накладные расходы, возникающие при подключении и исключении соединений в контексте транзакций. Однако используйте такие соединения осторожно. Например, если нетранзакционное соединение используется для запроса базы данных во время выполнения транзакции, которая изменяет базу данных, запрос извлекает неизмененные данные в базе данных. Это связано с тем, что текущая транзакция не зафиксирована. В другом примере, если нетранзакционное соединение изменяет базу данных, а выполняемая транзакция одновременно откатывается, изменения, сделанные нетранзакционным соединением, не откатываются.

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

Интересно ...

0 голосов
/ 01 февраля 2011

Не все источники данных являются tx, источник данных также может представлять файл на диске.

...