【问题标题】:Apache Tomcat (TomEE)/8.5.6 (7.0.2) Oracle JTS/XA-Datasource ConfigurationApache Tomcat (TomEE)/8.5.6 (7.0.2) Oracle JTS/XA-数据源配置
【发布时间】:2017-04-06 14:05:12
【问题描述】:

有没有人运行示例配置:

  • Apache Tomcat (TomEE)/8.5.6 (7.0.2) PLUME
  • Oracle 11g (ojdbc7.jar)

尽可能匹配 EE/JPA 2.1-Development?

如果我尝试使用我的数据源,目前我得到了 TomEE 的用户数据库。我认为这是由日志条目“org.apache.openejb.config.AutoConfig.deploy Found matching datasource: jdbc/jKgvDS but this one is not a JTA datasource”引起的,回退到最后一个已知的运行数据源。那么如何配置一个有效的 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-file 中尝试过)

<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>

【问题讨论】:

    标签: oracle apache-tomee xa jts tomee-7


    【解决方案1】:

    我们开始(是的......):

    <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 中的引用。

    【讨论】:

      猜你喜欢
      • 2015-01-01
      • 2018-12-31
      • 1970-01-01
      • 2017-04-04
      • 2015-09-08
      • 2020-09-26
      • 1970-01-01
      • 1970-01-01
      • 2020-03-03
      相关资源
      最近更新 更多