Ошибка при настройке источника данных Oracle XA в TomEE - PullRequest
0 голосов
/ 26 марта 2019

Я устанавливаю 2 новых источника данных (для 2 разных баз данных) в TomEE, чтобы использовать встроенную реализацию JTA. Ниже я добавил два ресурса в файл tomee.xml

XaDataSource myDatabase1XA DataSourceCreator dbcp MaxIdle 10 MaxActive 20 ValidationQuery ВЫБЕРИТЕ 1 ИЗ ДВОЙНОГО Имя пользователя database1 Пароль db1

URL JDBC: оракул: тонкий: @ DB1: 1521 / DB1

<Resource id="myDatabase2" type="DataSource">
XaDataSource        myDatabase2XA 
DataSourceCreator   dbcp 
MaxIdle             10 
MaxActive           20 
ValidationQuery     SELECT 1 FROM DUAL 
Username            database2 
Password            db2 

URL JDBC: оракул: тонкий: @ DB2: 1521 / DB2

Ниже приведен мой простой код Java:

Публичный класс Test {

@Resource
private DataSource myDatabase1XA;

  @Resource
  private DataSource myDatabase2XA;

  @Path("/test")
    @Produces(MediaType.TEXT_PLAIN)
    @TransactionAttribute(TransactionAttributeType.REQUIRED)
    public String testDB() throws SQLException {

      Connection conn = myDatabase1XA.getConnection();
         PreparedStatement sql = conn.prepareStatement("INSERT into test (test1, test2) values (?, ?)");
          sql.setString(1, "test1");
          sql.setString(2, "test2");
          sql.execute();

          Connection conn2 = myDatabase2XA.getConnection();
             PreparedStatement sql2 = conn2.prepareStatement("INSERT into test2 (test1, test2) values (?, ?)");
              sql2.setString(1, "test1");
              sql2.setString(2, "test2");
              sql2.execute();

              return "OK";

  }

}

в коде Java myDatabase1XA.getConnection (); сервер выбрасывает org.apache.cxf.interceptor.Fault: ORA-01017: неверное имя пользователя / пароль; вход в систему запрещен.

с той же конфигурацией, когда я заменяю имя класса в ресурсе драйвером не-XAracle, например oracle.jdbc.OracleDriver, мой код работает полностью нормально.

Я не уверен, что именно мне здесь не хватает.

...