编程语言
首页 > 编程语言> > java – 配置数据源 – tomee.xml,persistence.xml

java – 配置数据源 – tomee.xml,persistence.xml

作者:互联网

我正在用JPA项目做一些EJB,它将一些实体映射/持久化到mysql数据库.
我在persistence.xml中定义了持久性单元,如下所示:

  <persistence-unit name="MyAppPU" transaction-type="JTA">
    <provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>
    <jta-data-source>MyAppDS</jta-data-source>
    <properties>
      <property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema(ForeignKeys=true)" />
      <property name="openjpa.jdbc.DBDictionary" value="mysql" />
      <property name="openjpa.Log" value="DefaultLevel=WARN, Tool=INFO" />
    </properties>
  </persistence-unit>

然后,在tomee / conf / tomee.xml文件中,我已经定义了这样的数据源:

<Resource id="MyAppDS" type="DataSource">
    JdbcDriver          com.mysql.jdbc.Driver
    JdbcUrl             jdbc:mysql://127.0.0.1:3306/MyAppDB
    UserName            root
    Password            123
    JtaManaged          true
    DefaultAutoCommit   false
</Resource>

所有这一切工作正常,我创建MyApp.jar,将其部署到TomEE服务器,测试它,我在数据库中获取mysql表.
我的问题是“还有其他我可以定义数据源资源的地方吗?”
或者它必须在tomee / conf / tomee.xml文件中?
它可以在应用程序结构中的某个位置定义,在某些xml文件中,并在应用程序jar文件中部署到服务器?

解决方法:

这是JNDI数据源的重点,要在应用程序之外将其外部化,因此您无需重新编译或重新打包即可对其进行修改.所以最好这样离开.

出于测试目的,某些EE服务器(如JBoss(Wildfly))允许您在项目中定义它.

标签:java,jpa,ejb,tomee
来源: https://codeday.me/bug/20190831/1775575.html