設定方法クライアント識別子をJavaアプリケーションからのOracle接続に設定します。私のスタックは休止状態4.3.6と春4.1.0です。トランザクションは、注釈@Transactional
setClientIdentifier on oracle接続Javaアプリケーション
でスプリングによって管理されている私の最初の
@Autowired
private QueryDslUtil queryDslUtil;
@Autowired
private SessionFactory sessionFactory;
@Override
@Transactional(readOnly = true)
public void test(String kod) {
Session tmpSession = sessionFactory.getCurrentSession();
tmpSession.doWork(connection -> {
Properties prop = new Properties();
prop.put("userId", "mito");
connection.setClientInfo(prop);
});
Objects.requireNonNull(kod);
QOrganizacia source = QOrganizacia.organizacia;
queryDslUtil.from(source).where(source.kod.eq(kod)).uniqueResult(source);
}
does't作業をしてみてください、私のデータソースは、のdevの環境には、JNDIレジスタやC3POを経由して、WebLogic Serverで提供され、私はのOracleドライバーv 11.2を使用します。 0.1.0
ありがとうございました。
は、それが働いている、あなたに感謝しますが、接続は自分のアプリケーションでのoracle.jdbc.OracleConnectionにキャストすることはできません。私はプロキシ接続があり、その接続には内部OracleConnectionがありますが、内部Oracle接続を取得するpublicメソッドはありません。私はこれを試していますhttps://stackoverflow.com/questions/15483356/connection-cannot-be-cast-to-oracle-jdbc-oracleconnection – user2160842
基本的な接続を取得する方法があります。休止状態の場合、これらの2つは機能するはずです。 'のOracleConnectionのOracleConnection = connection.unwrap(OracleConnection.class);' 他の選択肢である 'のOracleConnectionたOracleConnection OC =(oracle.jdbc.driver.OracleConnection)connection.getMetaData()のgetConnection(); jboos ため' 'Connection c = dataSource.getConnection(); org.jboss.resource.adapter.jdbc.WrappedConnection wc =(WrappedConnection)c; OracleConnection ajc =(OracleConnection)wc.getUnderlyingConnection(); ' –