-
- All Superinterfaces:
-
CommonDataSource
public interface XADataSource extends CommonDataSource
内部使用的XAConnection
对象的工厂。 实现XADataSource
接口的对象通常使用命名服务注册,该命名服务使用Java命名和目录接口(JNDI)。XADataSource
的实现必须包含public no-arg构造函数。- 从以下版本开始:
- 1.4
-
-
方法摘要
所有方法 实例方法 抽象方法 Default Methods 变量和类型 方法 描述 default XAConnectionBuilder
createXAConnectionBuilder()
创建一个新的XAConnectionBuilder
实例int
getLoginTimeout()
获取此数据源在尝试连接到数据库时可以等待的最长时间(以秒为单位)。PrintWriter
getLogWriter()
检索此DataSource
对象的日志DataSource
。XAConnection
getXAConnection()
尝试建立可在分布式事务中使用的物理数据库连接。XAConnection
getXAConnection(String user, String password)
尝试使用给定的用户名和密码建立物理数据库连接。void
setLoginTimeout(int seconds)
设置此数据源在尝试连接到数据库时将等待的最长时间(以秒为单位)。void
setLogWriter(PrintWriter out)
将此DataSource
对象的日志DataSource
设置为给定的java.io.PrintWriter
对象。-
声明方法的接口 javax.sql.CommonDataSource
createShardingKeyBuilder, getParentLogger
-
-
-
-
方法详细信息
-
getXAConnection
XAConnection getXAConnection() throws SQLException
尝试建立可在分布式事务中使用的物理数据库连接。- 结果
-
XAConnection
对象,表示与数据源的物理连接,可以在分布式事务中使用 - 异常
-
SQLException
- 如果发生数据库访问错误 -
SQLFeatureNotSupportedException
- 如果JDBC驱动程序不支持此方法 -
SQLTimeoutException
- 当驱动程序确定已超出setLoginTimeout
方法指定的超时值并且至少尝试取消当前数据库连接尝试时 - 从以下版本开始:
- 1.4
-
getXAConnection
XAConnection getXAConnection(String user, String password) throws SQLException
尝试使用给定的用户名和密码建立物理数据库连接。 返回的连接是可以在分布式事务中使用的连接。- 参数
-
user
- 代表其进行连接的数据库用户 -
password
- 用户的密码 - 结果
-
XAConnection
对象,表示与数据源的物理连接,可以在分布式事务中使用 - 异常
-
SQLException
- 如果发生数据库访问错误 -
SQLFeatureNotSupportedException
- 如果JDBC驱动程序不支持此方法 -
SQLTimeoutException
- 当驱动程序确定已超出setLoginTimeout
方法指定的超时值并且至少尝试取消当前数据库连接尝试时 - 从以下版本开始:
- 1.4
-
getLogWriter
PrintWriter getLogWriter() throws SQLException
检索此
DataSource
对象的日志DataSource
。日志写入程序是一个字符输出流,将打印此数据源的所有日志记录和跟踪消息。 这包括由此对象的方法打印的消息,由此对象生成的其他对象的方法打印的消息,等等。 打印到特定于数据源的日志写入程序的消息不会打印到与
java.sql.DriverManager
类关联的日志java.sql.DriverManager
。 创建DataSource
对象时,日志DataSource
器最初为null; 换句话说,默认情况下禁用日志记录。- Specified by:
-
getLogWriter
在界面CommonDataSource
- 结果
- 此数据源的日志编写器,如果禁用日志记录,则为null
- 异常
-
SQLException
- 如果发生数据库访问错误 - 从以下版本开始:
- 1.4
- 另请参见:
-
CommonDataSource.setLogWriter(java.io.PrintWriter)
-
setLogWriter
void setLogWriter(PrintWriter out) throws SQLException
将此
DataSource
对象的日志DataSource
设置为给定的java.io.PrintWriter
对象。日志写入程序是一个字符输出流,将打印此数据源的所有日志记录和跟踪消息。 这包括由此对象的方法打印的消息,由此对象生成的其他对象的方法打印的消息,等等。 打印到特定于数据源的日志写入程序的消息不会打印到与
java.sql.DriverManager
类关联的日志java.sql.DriverManager
。 创建DataSource
对象时,日志DataSource
器最初为null; 换句话说,默认情况下禁用日志记录。- Specified by:
-
setLogWriter
,界面CommonDataSource
- 参数
-
out
- 新的日志out
; 要禁用日志记录,请设置为null - 异常
-
SQLException
- 如果发生数据库访问错误 - 从以下版本开始:
- 1.4
- 另请参见:
-
CommonDataSource.getLogWriter()
-
setLoginTimeout
void setLoginTimeout(int seconds) throws SQLException
设置此数据源在尝试连接到数据库时将等待的最长时间(以秒为单位)。 值为零指定超时是默认系统超时(如果有); 否则,它指定没有超时。 创建
DataSource
对象时,登录超时最初为零。- Specified by:
-
setLoginTimeout
,界面CommonDataSource
- 参数
-
seconds
- 数据源登录时间限制 - 异常
-
SQLException
- 如果发生数据库访问错误。 - 从以下版本开始:
- 1.4
- 另请参见:
-
CommonDataSource.getLoginTimeout()
-
getLoginTimeout
int getLoginTimeout() throws SQLException
获取此数据源在尝试连接到数据库时可以等待的最长时间(以秒为单位)。 值为零表示超时是默认系统超时(如果有); 否则,表示没有超时。 创建DataSource
对象时,登录超时最初为零。- Specified by:
-
getLoginTimeout
在界面CommonDataSource
- 结果
- 数据源登录时间限制
- 异常
-
SQLException
- 如果发生数据库访问错误。 - 从以下版本开始:
- 1.4
- 另请参见:
-
CommonDataSource.setLoginTimeout(int)
-
createXAConnectionBuilder
default XAConnectionBuilder createXAConnectionBuilder() throws SQLException
创建一个新的XAConnectionBuilder
实例- 实现要求:
-
默认实现将抛出
SQLFeatureNotSupportedException
。 - 结果
- 创建的XAConnectionBuilder实例
- 异常
-
SQLException
- 如果创建构建器时发生错误 -
SQLFeatureNotSupportedException
- 如果驱动程序不支持分片 - 从以下版本开始:
- 9
- 另请参见:
-
XAConnectionBuilder
-
-