2015-12-11 2 views
2

При настройке источника данных можно установить флажок «Использовать источник данных» в разделе «Экспозиция как источник данных JNDI». Документация объясняет это следующим образом:WSO2 «Использовать источник источника данных» в источниках данных JNDI

Чтобы сделать источник данных доступным из внешней среды, вы должны использовать фабрику источников данных. Когда этот параметр выбран, будет создан ссылочный объект с заданными свойствами источника данных. Завод данных источника создаст экземпляр источника данных на основе значений ссылочного объекта при обращении к источнику данных из внешней среды. В конфигурации источника данных, это устанавливается следующим образом: < jndiConfig useDataSourceFactory = «истинный»>

Однако это звучит совершенно непонятно для меня. Что может быть «внешней средой» здесь?

Может ли кто-нибудь объяснить более подробную фактическую разницу между установкой & unset checkbox state?

Я использую такой JNDI источника данных в пользовательских посредника для подключения к Postgres9.3 и увидеть разницу следующим образом:

  • флажок «на»: нет транзакций разметки (BEGIN/COMMIT/ROLLBACK) выдается, но новые записи всегда добавляются в базу данных, как автокоммит на
  • флажком «выкл»: новые записи добавляются время от времени, НАЧАТЬ и заявления ROLLBACK выпускаются неявно (отображается в журнале Postgres)

ответ

1

Так , эффект этого параметр создает экземпляр конкретного пула соединений (org.apache.tomcat.jdbc.pool.DataSource) для каждого посредника, запрашивающего его. В противном случае все посредники используют один и тот же пул соединений.

В моем случае проблема возникла из-за того, что параметры соединения не очищаются, как только они возвращаются в пул. Некоторые посредники установили autoCommit = false для некоторых соединений, и здесь поведение стало неопределенным: соединения, все еще имеющие настройки по умолчанию, успешно сохраняли данные в БД, а соединения с autoCommit = false выдавали операторы BEGIN/ROLLBACK (таким образом ничего не сохраняя в БД).

Смежные вопросы