使用DBMS_APPLICATION_INFO Jboss
質問
いて事例の使い方 DBMS_APPLICATION_INFO パッケージJBOSS?
して様々なケース内を行き来してJBOSSを共有dbプールがあります。れていきたいと考えていをスタートし、これらのセッションへの応用を認識させる、データベースを使用DBMS_APPLICATION_INFOりできますのでより簡単にパソコン-スマートフォン部門の応募がデータベース課題です。
私は詳しくは知らないけれどセッションのライフサイクルにJBOSS、その日に何が起こるの終了までの取引では、このパッケージのニーズを呼び出しを行います。
で行うこと。
解決
あり、ラッパークラスごとの接続プール、wraperの接続 では言い:
OracleConnection conn=connectionPool.getConnection("java:scott@mydb");
に変更するには:
public class LoggingConnectionPool extends ConnectionPool{ public OracleConnection getConnection(String datasourceName, String module, String action){ OracleConnection conn=getConnection(datasourceName); CallableStatement call=conn.preparedCall("begin dbms_application_info.setModule(module_name => ?, action_name => ?); end;"); try{ call.setString(1,module); call.setString(2,action); call.execute(); finally{ call.close(); } return new WrappedOracleConnection(conn); }
注の利用WrappedOracleConnectionます。必要なことする必要があるためトラップ内通話
public class WrappedOracleConnection extends OracleConnection{ public void close(){ CallableStatement call=this.preparedCall("begin dbms_application_info.setModule(module_name => ?, action_name => ?); end;"); try{ call.setNull(1,Types.VARCHAR); call.setNull(2,Types.VARCHAR); call.execute(); finally{ call.close(); } } // and you need to implement every other method //for example public CallableStatement prepareCall(String command){ return super.prepareCall(command); } ... }
武器agiは、dexで下がらないboxerぐいう開発サーバーチの接続が閉じられるわけではありません(返されませんのプール).
他のヒント
ご利用の場合JBossをお使いいただけますので"有効な接続-チェッカー".このクラスが正常使用の妥当性をチェック。が、そのままメソッドが呼び出され、毎時間、接続プール、ユーザに接続で無い場合、お名前をお書き添えの設定をDBMS_用_INFO.
きを宣言するようなクラスoracle-ds.xml このように:
<local-tx-datasource>
<jndi-name>jdbc/myDS</jndi-name>
<connection-url>jdbc:oracle:thin:@10.10.1.15:1521:SID</connection-url>
<driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
<security-domain>MyEncryptDBPassword</security-domain>
<valid-connection-checker-class-name>test.MyValidConn</valid-connection-checker-class-name>
<metadata>
<type-mapping>Oracle9i</type-mapping>
</metadata>
</local-tx-datasource>
ごクラスが実装しなければならないのorg.jboss.リソースです。アダプター。jdbc.ValidConnectionCheckerインターフェース。ご利用の場合はMavenできるこのインタフェースは以下の依存関係:
<dependency>
<groupId>jboss</groupId>
<artifactId>jboss-common-jdbc-wrapper</artifactId>
<version>3.2.3</version>
<scope>provided</scope>
</dependency>
このインタフェースについては方法:isValidConnection.コピー私の実施
public SQLException isValidConnection(Connection arg0) {
CallableStatement statement;
try {
statement = arg0.prepareCall("call dbms_application_info.set_client_info('"+getInfos()+"')");
statement.execute();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
希望です!
Benoît
お -ds.xml, お申し込みとさせていただき接続する v$セッション。プログラム の価値をプロパティの読み込みの プログラム カラムの各セッションの V$セッション ビューの作成のための接続から接続プールがあります。また、普段はセットで jboss.サーバーです。名称 物件です。
見 こちらの のための一例です。