eclipseリンクのpersistence.xmlに接続プーリングが定義されていない場合、デフォルトの動作は何ですか?eclipselink接続プーリング
トランザクションごとにJDBC接続を開いたり閉じたりしますか?いくつかのデフォルトで接続プールを作成しますか?
eclipseリンクのpersistence.xmlに接続プーリングが定義されていない場合、デフォルトの動作は何ですか?eclipselink接続プーリング
トランザクションごとにJDBC接続を開いたり閉じたりしますか?いくつかのデフォルトで接続プールを作成しますか?
defaulデータソースを使用しない場合のEclipseLinkの接続プーリングは、最小/最大32接続のプールで、初期接続数は1です。したがって、各トランザクションはプールされた接続を使用し、接続/切断は行いません。オプションで、デフォルトの接続プールがConnectionPoolで定義されているのinit /最小/最大のデフォルトを使用して、ServerSessionのコンストラクタで作成されていることを見ることができ、そして:
persistence.xmlファイルにプーリングするための参照がなくても、eclipselinkが接続プーリングをサポートしていると言っていますか? – user1796571
はい、デフォルト(32の接続のプール)です。 – James
ここに設定プロパティがあります:http://eclipse.org/eclipselink/documentation/2.4/jpa/extensions/p_connection_pool.htm – eskatos
アプリケーションサーバー(Java EE)とコンテナ管理の永続性を使用する場合は、アプリケーションサーバーの管理コンソールで接続プーリングを設定する必要があり、永続化でプーリングプロパティを設定する必要はありません.xmlファイル、例えば:
<persistence-unit name="myPU" transaction-type="JTA">
<jta-data-source>jdbc_my_DataSource</jta-data-source>
<exclude-unlisted-classes>false</exclude-unlisted-classes>
<shared-cache-mode>NONE</shared-cache-mode>
<properties/>
</persistence-unit>
あなたは、あなたがプールを設定しない場合、アプリケーションが永続性を管理し使用して、アプリケーション・サーバ(Java SEの)なしのEclipseLinkを使用している場合は
は、 Internal Connection Poolingが使用されます、例えば:<persistence-unit name="DemoPU" transaction-type="RESOURCE_LOCAL">
<properties>
<property name="javax.persistence.jdbc.url" value="jdbc:oracle:thin:@localhost:1521:xe"/>
<property name="javax.persistence.jdbc.user" value="myuser"/>
<property name="javax.persistence.jdbc.password" value="mypassword"/>
<property name="javax.persistence.jdbc.driver" value="oracle.jdbc.OracleDriver"/>
</properties>
</persistence-unit>
Appサーバーとは、EEまたはSEを意味しますか?したがって、接続プーリングが定義されていないときは、すべてのtxに対して接続が確立されますか? Spring/Tomcatを使ったBean管理の持続性はどうですか? – user1796571
Eclipselinkは引き続き接続プールを使用しますが、データソースを使用する代わりにプールを維持するだけです。ここでは、Eclipselinkの内部プールについて詳しく説明しています。http://wiki.eclipse.org/Configuring_an_Internal_Connection_Pool_(ELUG)および使用するjpaパーシスタンスのプロパティは、ここに掲載されています。http://wiki.eclipse.org/EclipseLink/Features/JPA#EntityManagerFactory_Properties – Chris
<property name="eclipselink.connection-pool.default.initial" value="1"/>
<property name="eclipselink.connection-pool.default.min" value="64"/>
<property name="eclipselink.connection-pool.default.max" value="64"/>
1/32/32 Jamesが言ったように正しいと思われる(このスレッドの私の答えで引用したソースコードを参照)。 –
ちょうど上記ジェームズの答えのためのコードソースを提供したかったですプロパティを介して開発者によってオーバーライド/調整されたEntityManagerSetupImpl。
persistence.xmlで指定したトランザクションタイプはどれですか? – MRalwasser