2011-01-06 5 views
0

웹 애플리케이션은 현재 JDBC를 Oracle 데이터베이스로 직접 호출합니다. 우리는 DBMS_APPLICATION_INFO 패키지에 대한 호출로 정적 getConnection (String client) 메소드에서 각 연결에 태그를 붙입니다.스프링 JDBC로 Oracle DBMS_APPLICATION_INFO 패키지 사용

CallableStatement pstmt = conx.prepareCall("{call DMBS_APPLICATION_INFO.SET_CLIENT_INFO(?)}"); 
pstmt.setString(1, "my client"); 
pstmt.executeUpdate(); 

이것은 때때로 유용하다고 판명되었으며 Spring JDBC로 전환 할 때이 작업을 계속하고 싶습니다.

우리가 각 쿼리를 트랜잭션으로 만든 다음 쿼리 (또는 쿼리)를 실행하기 전에 DBMS_APPLICATION_INFO를 호출하면이 코드를 모든 장소에 추가해야합니다. 트랜잭션 외부에서는 JDBC JDBC가 각 쿼리와의 연결을 열고 닫기 때문에 불가능한 것처럼 보입니다.

Spring에서는 JDBC가 우리가 지금하는 것처럼 DBMS_APPLICATION_INFO를 호출 할 수있는 방법이 있는데, 연결에 태그를 지정하는 문자열을 전달합니까?

감사합니다.

답변

0

내 질문에 대한 대답은 '아니오'입니다. 이 문제를 해결하기 위해 오늘 Tomcat의 JDBC 풀에 대한 인터셉터를 작성하거나 드라이버를 래핑하는 방법을 살펴 보겠습니다. 그러나 실제로는 DBMS_APPLICATION_INFO의 사용을 중단합니다. 그것이 좋기는하지만 조작 상으로 유용하지는 않으며 코드와 복잡성을 추가 할 필요가 없습니다.

0

당신은 봄 양상을 들여다 보았습니까?

관련 문제