我目前正在开发一个 REST 服务来替换现有的解决方案。我正在使用普通的 Payara/JEE7/JAX-RS。我没有使用 Spring,也不打算使用。
我面临的问题是我们希望尽可能多地重用原始配置(在集群中的多个节点上部署,并使用 puppet 控制配置文件)。通常在 Glassfish/Payara 中,您会有一个 domain.xml 文件,其中包含如下内容:
<jdbc-connection-pool driver-classname="" pool-resize-quantity="10" datasource-classname="org.postgresql.ds.PGSimpleDataSource" max-pool-size="20" res-type="javax.sql.DataSource" steady-pool-size="10" description="" name="pgsqlPool">
<property name="User" value="some_user"/>
<property name="DatabaseName" value="myDatabase"/>
<property name="LogLevel" value="0"/>
<property name="Password" value="some_password"/>
<!-- bla --->
</jdbc-connection-pool>
<jdbc-resource pool-name="pgsqlPool" description="" jndi-name="jdbc/pgsql"/>
此外,您的存档中还有一个 persistence.xml 文件,如下所示:
<persistence-unit name="myDatabase">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<jta-data-source>jdbc/pgsql</jta-data-source>
<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect"/>
<!-- bla -->
</properties>
</persistence-unit>
我需要用编程解决方案替换这两个配置文件,这样我就可以从现有的旧配置文件中读取数据,并(如果需要)在服务器启动时创建连接池和持久性单元。
你知道如何做到这一点吗?