-
- All Superinterfaces:
-
CommonDataSource
public interface XADataSource extends CommonDataSource
一个内部使用的XAConnection
对象的工厂。 实现XADataSource
接口的对象通常使用使用Java命名和目录接口(JNDI)的命名服务进行注册。XADataSource
的实现必须包含一个public no-arg构造函数。- 从以下版本开始:
- 1.4
-
-
方法摘要
所有方法 接口方法 抽象方法 Default Methods Modifier and Type 方法 描述 default XAConnectionBuilder
createXAConnectionBuilder()
创建一个新的XAConnectionBuilder
实例int
getLoginTimeout()
获取此数据源在尝试连接到数据库时可以等待的最长时间(秒)。PrintWriter
getLogWriter()
检索DataSource
对象的日志记录器。XAConnection
getXAConnection()
尝试建立可在分布式事务中使用的物理数据库连接。XAConnection
getXAConnection(String user, String password)
尝试使用给定的用户名和密码建立物理数据库连接。void
setLoginTimeout(int seconds)
设置该数据源在尝试连接到数据库时将等待的最长时间(秒)。void
setLogWriter(PrintWriter out)
将此DataSource
对象的日志写入器设置为给定的java.io.PrintWriter
对象。-
Methods inherited from interface 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
对象的日志记录器。日志写入器是一个字符输出流,将为该数据源打印所有日志记录和跟踪消息。 这包括通过该对象的方法打印的消息,由该对象制造的其他对象的方法打印的消息等等。 打印到数据源特定日志记录器的消息不会打印到与
java.sql.DriverManager
类相关联的日志记录器中。 创建DataSource
对象时,日志写入器最初为空; 换句话说,默认是禁用日志记录。- Specified by:
-
getLogWriter
在接口CommonDataSource
- 结果
- 此数据源的日志写入程序,如果禁用日志记录,则为空
- 异常
-
SQLException
- 如果发生数据库访问错误 - 从以下版本开始:
- 1.4
- 另请参见:
-
CommonDataSource.setLogWriter(java.io.PrintWriter)
-
setLogWriter
void setLogWriter(PrintWriter out) throws SQLException
将此
DataSource
对象的日志写入器设置为给定的java.io.PrintWriter
对象。日志写入器是一个字符输出流,将为该数据源打印所有日志记录和跟踪消息。 这包括通过该对象的方法打印的消息,由该对象制造的其他对象的方法打印的消息等等。 打印到数据源特定日志记录器的消息不会打印到与
java.sql.DriverManager
类相关联的日志记录器中。 当创建一个DataSource
对象时,日志写入器最初为空; 换句话说,默认是禁用日志记录。- Specified by:
-
setLogWriter
接口CommonDataSource
- 参数
-
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
-
-