我正在尝试使用 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"