-
- All Superinterfaces:
-
CommonDataSource
public interface XADataSource extends CommonDataSource
一个内部使用的XAConnection对象的工厂。 实现XADataSource接口的对象通常使用使用Java命名和目录接口(JNDI)的命名服务进行注册。XADataSource的实现必须包含一个public no-arg构造函数。- 从以下版本开始:
- 1.4
-
-
方法摘要
所有方法 接口方法 抽象方法 Default Methods Modifier and Type 方法 描述 default XAConnectionBuildercreateXAConnectionBuilder()创建一个新的XAConnectionBuilder实例intgetLoginTimeout()获取此数据源在尝试连接到数据库时可以等待的最长时间(秒)。PrintWritergetLogWriter()检索DataSource对象的日志记录器。XAConnectiongetXAConnection()尝试建立可在分布式事务中使用的物理数据库连接。XAConnectiongetXAConnection(String user, String password)尝试使用给定的用户名和密码建立物理数据库连接。voidsetLoginTimeout(int seconds)设置该数据源在尝试连接到数据库时将等待的最长时间(秒)。voidsetLogWriter(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
-
-