Это специфическая проблема:
Наш администратор Websphere допустил ошибку сценария при создании источника данных, и он создал наш источник данных без атрибута xa = ”true” в файле resources.xml.Источник данных не создается с использованием пользовательского интерфейса WAS, но создается с помощью сценария jython.
Вот фрагмент кода xml из resources.xml
<resources.jdbc:JDBCProvider xmi:id="JDBCProvider_34335495940" name="Oracle JDBC Driver (XA)" description="Oracle JDBC Driver (XA)" providerType="Oracle JDBC Driver (XA)" isolatedClassLoader="false" implementationClassName="oracle.jdbc.xa.client.OracleXADataSource" >
<classpath>${ORACLE_JDBC_DRIVER_PATH}/ojdbc7.jar</classpath>
В идеале файл resources.xml должен выглядеть следующим образом(с атрибутом xa в конце)
<resources.jdbc:JDBCProvider xmi:id="JDBCProvider_1518484995940" name="Oracle JDBC Driver (XA)" description="Oracle JDBC Driver (XA)" providerType="Oracle JDBC Driver (XA)" isolatedClassLoader="false" implementationClassName="oracle.jdbc.xa.client.OracleXADataSource" **xa="true"**>
<classpath>${ORACLE_JDBC_DRIVER_PATH}/ojdbc7.jar</classpath>
Приложение прекрасно работает в Production без каких-либо проблем.
Вопрос в том, что если мы не предоставим атрибут 'xa' в провайдере JDBC, что он будет понимать как соединение?
Класс реализации драйвера: oracle.jdbc.xa.client.OracleXADataSource Оба метода подключения: XA getXAConnection () getXAConnection (java.lang.String userName, java.lang.String passwd)
, поэтому, когда WebSphere получает соединение во время выполнения, он по умолчанию должен быть XAсоединение?
Я также проверил и подтвердил с администратором базы данных, что база данных включена для XA.
Требуется ли атрибут xa = «true»?Если не указано иное, значением по умолчанию становится «false»?
Благодарим Вас за помощь !!