Module java.sql
Package javax.sql

Interface XADataSource

所有超级接口:
CommonDataSource

public interface XADataSource extends CommonDataSource
用于内部使用的XAConnection对象工厂。实现XADataSource接口的对象通常会注册到使用Java命名和目录接口(JNDI)的命名服务中。

XADataSource的实现必须包括一个公共无参构造函数。

自版本:
1.4
  • Method Details

    • 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对象时,日志写入器最初为null;换句话说,默认情况下日志记录被禁用。

      指定者:
      getLogWriter 在接口 CommonDataSource
      返回:
      此数据源的日志写入器,如果日志记录被禁用则为null
      抛出:
      SQLException - 如果发生数据库访问错误
      自版本:
      1.4
      参见:
    • setLogWriter

      void setLogWriter(PrintWriter out) throws SQLException

      将此DataSource对象的日志写入器设置为给定的java.io.PrintWriter对象。

      日志写入器是一个字符输出流,用于打印此数据源的所有日志和跟踪消息。这包括由此对象的方法打印的消息,由此对象制造的其他对象的方法打印的消息等。打印到数据源特定日志写入器的消息不会打印到与java.sql.DriverManager类关联的日志写入器。创建DataSource对象时,日志写入器最初为null;换句话说,默认情况下日志记录被禁用。

      指定者:
      setLogWriter 在接口 CommonDataSource
      参数:
      out - 新的日志写入器;要禁用日志记录,请设置为null
      抛出:
      SQLException - 如果发生数据库访问错误
      自版本:
      1.4
      参见:
    • setLoginTimeout

      void setLoginTimeout(int seconds) throws SQLException

      设置此数据源在尝试连接到数据库时将等待的最长时间(以秒为单位)。如果值为零,则指定超时为默认系统超时(如果有);否则,指定没有超时。创建DataSource对象时,登录超时最初为零。

      指定者:
      setLoginTimeout 在接口 CommonDataSource
      参数:
      seconds - 数据源登录时间限制
      抛出:
      SQLException - 如果发生数据库访问错误。
      自版本:
      1.4
      参见:
    • getLoginTimeout

      int getLoginTimeout() throws SQLException
      获取此数据源在尝试连接到数据库时可以等待的最长时间(以秒为单位)。如果值为零,则表示超时为默认系统超时(如果有);否则,表示没有超时。创建DataSource对象时,登录超时最初为零。
      指定者:
      getLoginTimeout 在接口 CommonDataSource
      返回:
      数据源登录时间限制
      抛出:
      SQLException - 如果发生数据库访问错误。
      自版本:
      1.4
      参见:
    • createXAConnectionBuilder

      default XAConnectionBuilder createXAConnectionBuilder() throws SQLException
      创建一个新的XAConnectionBuilder实例
      实现要求:
      默认实现将抛出SQLFeatureNotSupportedException
      返回:
      创建的XAConnectionBuilder实例
      抛出:
      SQLException - 如果创建构建器时发生错误
      SQLFeatureNotSupportedException - 如果驱动程序不支持分片
      自版本:
      9
      参见: