站内搜索: 请输入搜索关键词
当前页面: 在线文档首页 > Spring Framework 1.2.9 API 文档英文版

JBossNativeJdbcExtractor (Spring Framework) - Spring Framework 1.2.9 API 文档英文版


org.springframework.jdbc.support.nativejdbc
Class JBossNativeJdbcExtractor

java.lang.Object
  extended by org.springframework.jdbc.support.nativejdbc.NativeJdbcExtractorAdapter
      extended by org.springframework.jdbc.support.nativejdbc.JBossNativeJdbcExtractor
All Implemented Interfaces:
NativeJdbcExtractor

public class JBossNativeJdbcExtractor
extends NativeJdbcExtractorAdapter

Implementation of the NativeJdbcExtractor interface for JBoss 3.2.

Returns the underlying native Connection, Statement, etc to application code instead of JBoss' wrapper implementations. The returned JDBC classes can then safely be cast, e.g. to oracle.jdbc.OracleConnection.

Note that JBoss started wrapping ResultSets as of 3.2.4, which is supported by this implementation, while still being compatible with 3.2.x.

This NativeJdbcExtractor can be set just to allow working with a JBoss connection pool: If a given object is not a JBoss wrapper, it will be returned as-is.

Since:
03.01.2004
Author:
Juergen Hoeller
See Also:
org.jboss.resource.adapter.jdbc.WrappedConnection#getUnderlyingConnection, org.jboss.resource.adapter.jdbc.WrappedStatement#getUnderlyingStatement, org.jboss.resource.adapter.jdbc.WrappedResultSet#getUnderlyingResultSet

Constructor Summary
JBossNativeJdbcExtractor()
          This constructor retrieves JBoss JDBC wrapper classes, so we can get the underlying vendor connection using reflection.
 
Method Summary
protected  Connection doGetNativeConnection(Connection con)
          Retrieve the Connection via JBoss' getUnderlyingConnection method.
 CallableStatement getNativeCallableStatement(CallableStatement cs)
          Retrieve the Connection via JBoss' getUnderlyingStatement method.
 PreparedStatement getNativePreparedStatement(PreparedStatement ps)
          Retrieve the Connection via JBoss' getUnderlyingStatement method.
 ResultSet getNativeResultSet(ResultSet rs)
          Retrieve the Connection via JBoss' getUnderlyingResultSet method.
 Statement getNativeStatement(Statement stmt)
          Retrieve the Connection via JBoss' getUnderlyingStatement method.
 
Methods inherited from class org.springframework.jdbc.support.nativejdbc.NativeJdbcExtractorAdapter
getNativeConnection, getNativeConnectionFromStatement, isNativeConnectionNecessaryForNativeCallableStatements, isNativeConnectionNecessaryForNativePreparedStatements, isNativeConnectionNecessaryForNativeStatements
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JBossNativeJdbcExtractor

public JBossNativeJdbcExtractor()
This constructor retrieves JBoss JDBC wrapper classes, so we can get the underlying vendor connection using reflection.

Method Detail

doGetNativeConnection

protected Connection doGetNativeConnection(Connection con)
                                    throws SQLException
Retrieve the Connection via JBoss' getUnderlyingConnection method.

Overrides:
doGetNativeConnection in class NativeJdbcExtractorAdapter
Throws:
SQLException

getNativeStatement

public Statement getNativeStatement(Statement stmt)
                             throws SQLException
Retrieve the Connection via JBoss' getUnderlyingStatement method.

Specified by:
getNativeStatement in interface NativeJdbcExtractor
Overrides:
getNativeStatement in class NativeJdbcExtractorAdapter
Parameters:
stmt - the Statement handle, potentially wrapped by a connection pool
Returns:
the underlying native JDBC Statement, if possible; else, the original Connection
Throws:
SQLException - if thrown by JDBC methods

getNativePreparedStatement

public PreparedStatement getNativePreparedStatement(PreparedStatement ps)
                                             throws SQLException
Retrieve the Connection via JBoss' getUnderlyingStatement method.

Specified by:
getNativePreparedStatement in interface NativeJdbcExtractor
Overrides:
getNativePreparedStatement in class NativeJdbcExtractorAdapter
Parameters:
ps - the PreparedStatement handle, potentially wrapped by a connection pool
Returns:
the underlying native JDBC PreparedStatement, if possible; else, the original Connection
Throws:
SQLException - if thrown by JDBC methods

getNativeCallableStatement

public CallableStatement getNativeCallableStatement(CallableStatement cs)
                                             throws SQLException
Retrieve the Connection via JBoss' getUnderlyingStatement method.

Specified by:
getNativeCallableStatement in interface NativeJdbcExtractor
Overrides:
getNativeCallableStatement in class NativeJdbcExtractorAdapter
Parameters:
cs - the CallableStatement handle, potentially wrapped by a connection pool
Returns:
the underlying native JDBC CallableStatement, if possible; else, the original Connection
Throws:
SQLException - if thrown by JDBC methods

getNativeResultSet

public ResultSet getNativeResultSet(ResultSet rs)
                             throws SQLException
Retrieve the Connection via JBoss' getUnderlyingResultSet method.

We access WrappedResultSet via direct reflection, since this class only appeared in JBoss 3.2.4 and we want to stay compatible with at least 3.2.2+.

Specified by:
getNativeResultSet in interface NativeJdbcExtractor
Overrides:
getNativeResultSet in class NativeJdbcExtractorAdapter
Parameters:
rs - the ResultSet handle, potentially wrapped by a connection pool
Returns:
the underlying native JDBC ResultSet, if possible; else, the original Connection
Throws:
SQLException - if thrown by JDBC methods


Copyright (c) 2002-2007 The Spring Framework Project.