java - 是否有为 Java EE 容器定义 JDBC 数据源的标准方法?

标签 java jdbc jakarta-ee hsqldb

我知道对于 JBoss,您需要一个位于相应实例的/deploy 子目录中的 [name]-ds.xml 文件。 我对其他 Java EE 容器没有任何经验,但我试图尽可能地遵守标准。 是否有定义 JDBC 数据源并部署它的标准方法?如果可能的话,我想在 *.ear 文件中包含我的数据源(例如,用于演示目的的嵌入式内存 HSQLDB 数据源)?

如果没有标准方式,其他容器至少会接受jboss方式吗? (/deploy/*-ds.xml)

最佳答案

Is there a standard way to define a JDBC datasource and deploy it?

是的,有。通过 <data-source> 完成元素,可以放入web.xml , ejb-jar.xmlapplication.xml .如果你不喜欢 XML,你也可以使用一个注解来代替:@DataSourceDefinition

web.xml 条目示例

<data-source>
    <name>java:app/myDS</name>
    <class-name>org.postgresql.xa.PGXADataSource</class-name>
    <server-name>pg.myserver.com</server-name>
    <database-name>my_db</database-name>
    <user>foo</user>
    <password>bla</password>
    <transactional>true</transactional>
    <isolation-level>TRANSACTION_READ_COMMITTED</isolation-level>
    <initial-pool-size>2</initial-pool-size>
    <max-pool-size>10</max-pool-size>
    <min-pool-size>5</min-pool-size>
    <max-statements>0</max-statements>
</data-source>

进一步阅读:

附言我很惊讶所有其他答案都说这不存在,而它显然存在,即使在最初提出这个问题时也是如此。

关于java - 是否有为 Java EE 容器定义 JDBC 数据源的标准方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2279913/

相关文章:

java - 奇怪的 Spring 事务行为

java - oracle数据库换行符

Spring、Hibernate 事务。加入 A 中创建的线程 B 中的事务。可能吗?

java - 我该如何解决 "Cannot make a static reference to the non-static field or method"?

java - 创建大小未定的二维锯齿状数组

java - 无法从 JTable 数据库获取数据到 JTextField

java - MVP - 注册点击监听器或使用 CDI 事件?

java - CDI 是否为 RequestScoped 重用代理?

javascript - 为什么我不能在 android studio 的字符串变量中访问 localStorage?

java - 从 ResultSet 获取列宽度/长度的最简单方法 - 我必须迭代吗?