Мы разрабатываем программное обеспечение с сервером приложений Weblogic (12.1.1.0); У нас есть один домен с двумя приложениями.Основное SQLException (связанное с XA) в приложении Weblogic Сервер
Мы просто переместилась с БД разработки предварительного производства DB (по аналогии с производства), и о мальчик мы получили большую проблему собирается ...
DBA говорит ДЕЦИБЕЛЫ работают в той же версии - Oracle 11 (I не помните точную версию). Единственное различие, которое мы видим, заключается в том, что dvlp DB использует SID для подключения, а два других - имя службы.
Теперь в нашем домене имеется два источника данных X и Y. Оба подключены к одной и той же БД. Мы используем драйвер XA для обоих. Оба наших приложения используют один и тот же «persistence.xml» (и сущности), который имеет два PU (единицы сохранения), каждый из которых использует другой источник данных (X и Y).
Проблема заключается в следующем:
- MDB начинает обработку запроса.
- Он использует оба PU с EntityManager и источник данных Y с интерфейсом DataSource, который используется для получения соединения (у нас есть код JDBC).
- Он вызывает компонент из другого приложения.
- Другой компонент пытается использовать один из PU (тот, который подключен к источнику данных X).
SQLException брошено:
XA error: XAResource.XAER_NOTA start() failed on resource 'x_my_domain': XAER_NOTA : The XID is not valid
Мы искали ошибку на сайте, и мы обнаружили, что мы должны изменить конфигурацию источников данных, в
XASetTransactionTimeout=true
XATransactionTimeout=0
но это не сработало.
Мы также много пытались настроить конфигурацию источников данных, в конечном итоге удалив один из них, поэтому нам нужно только настроить только один из них, но ничего не сработало.
Кроме того, в то время как раз настройки конфигурации, различные SQLException скатилась под нашим радаром и начал выкатились вместо предыдущего:
Internal error: Cannot obtain XAConnection weblogic.common.resourcepool.ResourceDisabledException: Pool X is Suspended, cannot allocate resources to applications
Теперь это один еще более расстраивает, потому что мы испробовали все; сбросить источник данных; удалять и воссоздавать; удалить и воссоздать с другим именем; удалите домен и заново создайте другое имя источника данных; вернуться с помощью dvlp DB; но ничего, исключение, похоже, сохраняется.
Мы действительно не имеем никакого представления о том, как решить эту проблему, и мы не можем идти дальше, не исправляя эту проблему.