有没有为Java EE容器定义JDBC数据源的标准方法?

rad*_*dai 20 java jdbc hsqldb java-ee

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

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

Arj*_*jms 26

有没有一种标准的方法来定义JDBC数据源并进行部署?

就在这里.它是通过做<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>
Run Code Online (Sandbox Code Playgroud)

进一步阅读:

ps我很惊讶所有其他答案都说这不存在,但很明显,即使在最初问这个问题的时候也是如此.

  • @MarcusJuniusBrutus 您可以在此处找到参考:http://download.oracle.com/otndocs/jcp/java_ee-7-fr-eval-spec/index.html 请参阅 EE.5.18.3(第 132 页)。这是正式的,因为它会得到;) (2认同)