我知道对于 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.xml
和 application.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>
进一步阅读:
- Introducing the DataSourceDefinition Annotation
- The state of @DataSourceDefinition in Java EE
- Example application use standard data source
附言我很惊讶所有其他答案都说这不存在,而它显然存在,即使在最初提出这个问题时也是如此。
关于java - 是否有为 Java EE 容器定义 JDBC 数据源的标准方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2279913/