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