私のアプリケーションでは、接続プーリングにc3p0を使用しています。私は、コンテキストfile.Configurationにユーザー名とパスワードは以下の通りです提供:私のアプリケーションの負荷はその後、春には、このユーザー名とパスワードを使用して接続を行わc3p0を使用している複数のユーザーログオン
<bean id="datasource"
class="com.mchange.v2.c3p0.ComboPooledDataSource" lazy-init="true" destroy-method="close">
<property name="driverClass" value="com.ibm.as400.access.AS400JDBCDriver" />
<property name="jdbcUrl" value="${url}" />
<property name="user" value="${username}" />
<property name="password" value="${password}" /> </bean>
。 問題は、他のユーザーがログインページを使用して自分のプロフィールでログインしてから、スプリング接続を新しいユーザーの接続に置き換えたい場合です。データの取得は新しいユーザーのプロフィールで完了します。プロパティファイルを変更したい Plsが私を支援します。
あなたが言ったように、スプリングDI機能を使用することはできません。エンティティマネージャファクトリオブジェクトを作成する際にSpringで私の接続が使用されているため、Springのコンテキスト外で接続を開くと、どうすればこの接続を設定できますか春の文脈では –
私はこれが達成できると確信していますが、それは非常に些細なことではないでしょうし、おそらくあなたからのカスタムコンポーネントを含むでしょう。心に浮かぶ1つのアプローチは、LocalContainerEntityManagerFactoryBeanで使用する独自のセッションスコープのデータソース実装を作成することです。セッションスコープのカスタムデータソースでは、そのユーザーセッションの接続を手動で作成して維持する必要があります。 – pap