Прежде чем ответить на это, я хочу отметить, что изменение логики транзакций без полного понимания того, что вы делаете, может поставить ваше приложение под угрозу проблем с целостностью данных, поэтому будьте осторожны.Если вы посмотрите на ту часть стека, которая соответствует тому, что вы разместили, она должна показать, какой код приложения использует объект java.sql.Connection.Следуйте коду, чтобы указать, где он получает соединение из источника данных, и укажите имя JNDI источника данных, который он использует.Переключите код, чтобы вместо него использовать имя JNDI для ConnectionPoolDataSource (не XA), а не XADataSource.После этого вы можете увидеть ошибки при включении нескольких однофазных ресурсов в транзакцию.Если это так, ваше приложение полагалось на двухфазную фиксацию, которая возможна только в XA, и вам нужно будет полностью реорганизовать ее (если вообще возможно), чтобы избежать использования двухфазной фиксации.С другой стороны, если было действительно намерение не включать этот источник данных в транзакции JTA, то вы можете пометить его как транзакция = ложь (при использовании Liberty) или nonTransactionalDataSource = true (традиционная WAS), в этом случае он будет избегать зачисления вТранзакции JTA и, следовательно, не будут участвовать в качестве двухфазного (XA) ресурса.