Eclipselink からのセッションごとにデータベース セッション変数を設定したいと考えています。実行したいSQLは次のようなものです:
begin DBMS_SESSION.SET_IDENTIFIER('MyApplicationName'); end;
コマンドを実行する SessionEvent リスナーを作成しようとすると、無限再帰に陥ってしまうようです。
myServer.getEventManager().addListener(new SessionEventAdapter() {
public void postConnect(SessionEvent evt) {
evt.getSession().executeNonSelectingCall(new SQLCall("begin DBMS_SESSION.SET_IDENTIFIER('MyApplicationName'); end;"));
}
});
イベントリスナーでこれを間違った方法で行っているのでしょうか、それとも SQL コマンドを特別な方法で実行する必要がありますか?