現在、既存のソリューションを置き換える REST サービスを開発しています。プレーンな Payara/JEE7/JAX-RS を使用しています。私はSpringを使用しておらず、使用するつもりもありません。
私が直面している問題は、元の構成をできるだけ再利用したいということです (構成ファイルを制御するパペットを使用して、クラスター内の複数のノードに展開します)。通常、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>
これらの構成ファイルの両方をプログラムによる解決策に置き換える必要があるため、既存のレガシー構成ファイルから読み取り、(必要に応じて) サーバーの起動時に接続プールと永続化ユニットを作成できます。
それを達成する方法はありますか?