如何在带有 .war 打包的 wildfly swarm 中添加数据源?

如何在带有 .war 打包的 wildfly swarm 中添加数据源?

我正在尝试使用 Wildfly Swarm 和 .war 打包来运行我的 Web 应用程序。

我应该如何添加我的 jdbc 驱动程序和数据源定义?

答案1

在简单的情况下,您可以简单地使用持久单元中的默认数据源,您只需使用以下 Java 系统属性指定连接详细信息:

swarm.ds.name           - Name of the datasource (e.g. ExampleDS)   
swarm.ds.username       - Username to access the database   
swarm.ds.password       - Password to access the database   
swarm.ds.connection.url - URL connection to use

设置这些值可以配置 JTA 数据源,因此您可以拥有一个非常基本的 persistence.xml:

<persistence xmlns="http://java.sun.com/xml/ns/persistence" version="1.0">
  <persistence-unit name="example">
    <provider>org.hibernate.ejb.HibernatePersistence</provider>
    <class>entity.user</class>
    <properties>
      <property name="hibernate.hbm2ddl.auto" value="create" />
      <property name="hibernate.show_sql" value="true"/>
    </properties>
  </persistence-unit>
</persistence>

数据源名称似乎并不重要。

有关(稍微)更多信息,请参阅https://wildfly-swarm.gitbooks.io/wildfly-swarm-users-guide/content/configuration_properties.html

答案2

在你的 project-defaults.yml 中

swarm:
  datasources:
    jdbc-drivers:
      crate-jdbc:
        driver-class-name: io.crate.client.jdbc.CrateDriver
        xa-datasource-class-name: org.postgresql.xa.PGXADataSource
        driver-module-name: io.crate.crate-jdbc
    data-sources:
      MyDS:
        driver-name: crate-jdbc
        connection-url: jdbc:crate://crate-service:5432/
        pool-prefill: true
        min-pool-size:  5
        max-pool-size: 10
        user-name: "dummy"
        password: "dummy"      

相关内容