Класс SQLServerXADataSource
Представляет фабрику для объектов SQLServerXAConnection, предназначенных для внутреннего использования.
Пакет: com.microsoft.sqlserver.jdbc
Расширение: SQLServerConnectionPoolDataSource
Реализует: javax.sql.XADataSource
Синтаксис
public class SQLServerXADataSource
Замечания
Объект, который реализует интерфейс SQLServerXADataSource, обычно регистрируется в службе имен, которая использует интерфейс JNDI.
Класс SQLServerXADataSource представляет соединения с базой данных для использования в распределенных транзакциях (XA). Класс SQLServerXADataSource также поддерживает организацию пулов физических подключений. Интерфейсы SQLServerXADataSource и SQLServerXAConnection, определенные в javax.sql пакета, реализуются SQL Server.
Объект SQLServerXAConnection представляет соединение из пула, которое может участвовать в распределенной транзакции. Точнее, SQLServerXAConnection расширяет интерфейс SQLServerPooledConnection, добавляя метод getXAResource. Этот метод создает объект SQLServerXAResource, который может использоваться диспетчером транзакций для координации работы, выполняемой по этому соединению, с другими участниками распределенной транзакции. Поскольку объекты SQLServerXAConnection расширяют интерфейс SQLServerPooledConnection, они поддерживают все методы объектов SQLServerPooledConnection. Эти объекты представляют многократно используемые физические соединения с базовым источником данных и создают дескрипторы логических соединений, которые можно передавать обратно в приложение JDBC.
Объекты SQLServerXAConnection создаются объектом SQLServerXADataSource. Объекты SQLServerConnectionPoolDataSource и SQLServerXADataSource схожи тем, что оба типа объектов реализуются ниже уровня источника данных, видимого для приложения JDBC. Эта архитектура позволяет SQL Server поддерживать распределенные транзакции таким образом, чтобы он был прозрачным для приложения. SQLServerXADataSource можно настроить для интеграции с координатором распределенных транзакций Майкрософт (DTC), чтобы обеспечить истинную распределенную обработку транзакций.