現在、既存のソリューションを置き換えるためのRESTサービスを開発中です。私はプレーンなPayara/JEE7/JAX-RSを使っています。私は春を使用していないし、私は意図していない。JEE7/JAX-RS JDBC接続プールをプログラムで作成する方法
私が直面している問題は、できるだけ元の構成(構成ファイルを制御する人形を持つクラスタ内の複数のノードに展開)を再利用したいということです。
<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>
:
<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ファイルを持っていると思います: 通常はGlassfish /ペーシュ・カショーロに、あなたはこのようないくつかのコンテンツを持つdomain.xmlファイルを持っていると思います
これらの設定ファイルをプログラム的なソリューションで置き換える必要があるため、既存の従来の設定ファイルから読み込み、必要に応じてサーバの起動時に接続プールと永続ユニットを作成できます。
これを達成する方法はありますか?
本当に私の質問には答えてくれませんが、情報をありがとう。ただし、asadminスクリプトはインストールスクリプトの一部として実行できるので、「回避策」として役立つかもしれません。 ノードごとにwarファイルを構築せずに、同じアプリケーションを異なるノードに異なる設定(データベースアドレス)で展開する必要があるため、warファイルの一部として何かを追加することはできません。 – Brixomatic
また、Runtime.exec(...)を使用してアプリケーションを起動するasadminを初めて実行することも考えられます。 com.sun.aas.installRootプロパティを使用してasadminを見つけることができます。 –