2017-04-06 69 views
1

有没有人正在运行的示例性配置:
的Apache Tomcat(TomEE)/8.5.6(7.0.2)的Oracle JTS/XA-数据源配置

  • 的Apache Tomcat(TomEE)/8.5.6(7.0 0.2)羽状
  • 的Oracle 11g(ojdbc7.jar)

到EE/JPA 2.1发展相匹配尽可能靠近?

目前我得到TomEE的用户数据库,如果我尝试使用我的数据源。我认为这是由日志条目“org.apache.openejb.config.AutoConfig.deploy找到匹配的数据源:jdbc/jKgvDS,但这个不是JTA数据源”导致的,它回退到最后一个已知的正在运行的数据源。那么我怎样才能配置一个有效的JTA数据源?

的server.xml:

<Resource id="jKgvDS" name="jdbc/jKgvDS" 
 
         jtaManaged="true" 
 
         auth="Container" 
 
         type="oracle.jdbc.xa.client.OracleXADataSource" 
 
         
 
driverClassName="oracle.jdbc.xa.client.OracleXADataSource" 
 
         factory="oracle.jdbc.pool.OracleDataSourceFactory" 
 
         url="jdbc:oracle:thin:@db:1521:db" 
 
         username="myuser" 
 
         password="mypass" 
 
         maxActive="20" 
 
         maxIdle="30" 
 
         maxWait="-1" 
 
         validationQuery="SELECT 1 FROM DUAL" 
 
      />

的context.xml(试图CONF和app-文件)

<ResourceLink global='jdbc/jKgvDS' 
 
name='jdbc/jKgvDS' type="javax.sql.XADatasource" 
 
auth="Container" />

的persistence.xml

<persistence-unit name="jKgvPU" transaction-type="JTA"> 
 
     <jta-data-source>jdbc/jKgvDS</jta-data-source>   
 
     <exclude-unlisted-classes>false</exclude-unlisted-classes> 
 
     <validation-mode>NONE</validation-mode> 
 
     <properties> 
 
      <property 
 
       name="openjpa.jdbc.DBDictionary" 
 
value="org.apache.openjpa.jdbc.sql.OracleDictionary" /> 
 
      <property 
 
       name="openjpa.jdbc.DBDictionary" 
 
value="oracle(maxEmbeddedBlobSize=-1,maxEmbeddedClobSize=-1)" /> 
 
      <property 
 
       name="openjpa.jdbc.SynchronizeMappings" 
 
       value="buildSchema(ForeignKeys=true)" /> 
 
     </properties> 
 
    </persistence-unit>

回答

0

这里,我们去(是啊...):

<Resource id="jKgvDS" name="jdbc/jKgvDS" 
 
        jtaManaged="true" 
 
        auth="Container" 
 
        type="javax.sql.DataSource" 
 
    driverClassName="oracle.jdbc.driver.OracleDriver" 
 
factory="org.apache.tomcat.jdbc.pool.DataSourceFactory" 
 
        url="jdbc:oracle:thin:@POSDBORA:1521:posdbora" 
 
        username="myuser" 
 
        password="mypass" 
 
        maxActive="20" 
 
        maxIdle="30" 
 
        maxWait="-1" 
 
        validationQuery="SELECT 1 FROM DUAL" 
 
     />

参考在web.xml或context.xml中不需要运行。