Spec-Zone.ru › OpenJDK 21

Интерфейс DataSource

Все суперинтерфейсы:
CommonDataSource, Wrapper
public interface DataSource extends CommonDataSource, Wrapper

Фабрика для подключений к физическому источнику данных, который представляет этот DataSource объект. Альтернатива DriverManager механизму, объект DataSource предпочтительнее для получения подключения. Объект, реализующий интерфейс DataSource , обычно регистрируется в службе именования на основе API Java Naming and Directory (JNDI).

Интерфейс DataSource реализуется поставщиком драйвера. Существует три типа реализаций:

  1. Базовая реализация — производит стандартный Connection объект
  2. Реализация пулинга подключений — производит Connection объект, который автоматически участвует в пуле подключений. Эта реализация работает с менеджером пулинга подключений на уровне среднего слоя.
  3. Реализация распределённых транзакций — производит Connection объект, который может использоваться для распределённых транзакций и почти всегда участвует в пуле подключений. Эта реализация работает с менеджером транзакций на среднем уровне и почти всегда с менеджером пулинга подключений.

Объект DataSource имеет свойства, которые могут быть изменены при необходимости. Например, если источник данных перемещён на другой сервер, можно изменить свойство сервера. Преимущество заключается в том, что поскольку свойства источника данных могут быть изменены, любой код, обращающийся к этому источнику данных, не требует изменений.

Драйвер, к которому осуществляется доступ через объект DataSource , не регистрируется в DriverManager. Вместо этого объект DataSource извлекается через операцию поиска и затем используется для создания объекта Connection. При базовой реализации подключение, полученное через объект DataSource , идентично подключению, полученному через DriverManager механизм.

Реализация DataSource должна включать публичный конструктор без аргументов.

С:
1.4

Краткое описание методов

Модификатор и тип Метод Описание
default ConnectionBuilder createConnectionBuilder()
Создать новый экземпляр ConnectionBuilder
Connection getConnection()
Попытка установить соединение с источником данных, представленным этим DataSource объектом.
Connection getConnection(String username, String password)
Попытка установить соединение с источником данных, представленным этим DataSource объектом.
int getLoginTimeout()
Получение максимального времени в секундах, которое этот источник данных может ждать при попытке подключения к базе данных.
PrintWriter getLogWriter()
Получение записывателя журналов для этого объекта DataSource.
void setLoginTimeout(int seconds)
Установка максимального времени в секундах, которое этот источник данных будет ждать при попытке подключения к базе данных.
void setLogWriter(PrintWriter out)
Установка записывателя журналов для этого объекта DataSource на заданный объект java.io.PrintWriter.

Методы, объявленные в интерфейсе javax.sql.CommonDataSource

createShardingKeyBuilder, getParentLogger

Методы, объявленные в интерфейсе java.sql.Wrapper

isWrapperFor, unwrap

Подробное описание методов

getConnection

Connection getConnection() throws SQLException

Попытка установить соединение с источником данных, представленным этим DataSource объектом.

Возвращает:
соединение с источником данных
Исключения:
SQLException - если произошла ошибка доступа к базе данных
SQLTimeoutException - когда драйвер определил, что значение таймаута, заданное методом setLoginTimeout, было превышено и, по крайней мере, попытался отменить текущую попытку подключения к базе данных

getConnection

Connection getConnection(String username, String password) throws SQLException

Попытка установить соединение с источником данных, представленным этим DataSource объектом.

Параметры:
username - пользователь базы данных, от имени которого создаётся соединение
password - пароль пользователя
Возвращает:
соединение с источником данных
Исключения:
SQLException - если произошла ошибка доступа к базе данных
SQLTimeoutException - когда драйвер определил, что значение таймаута, заданное методом setLoginTimeout, было превышено и, по крайней мере, попытался отменить текущую попытку подключения к базе данных
С:
1.4

getLogWriter

PrintWriter getLogWriter() throws SQLException

Получение записывателя журналов для этого объекта DataSource.

Записыватель журналов — это поток символьного вывода, в который будут выводиться все сообщения о регистрации и отслеживании для этого источника данных. Это включает сообщения, выводимые методами этого объекта, сообщения, выводимые методами других объектов, созданных этим объектом, и так далее. Сообщения, выводимые в записыватель журналов, специфичный для источника данных, не выводятся в записыватель журнала, связанный с классом java.sql.DriverManager. Когда объект DataSource создаётся, записыватель журнала первоначально равен null; другими словами, по умолчанию регистрация отключена.

Определено в:
getLogWriter в интерфейсе CommonDataSource
Возвращает:
записыватель журналов для этого источника данных или null, если регистрация отключена
Исключения:
SQLException - если произошла ошибка доступа к базе данных
С:
1.4
См. также:
  • CommonDataSource.setLogWriter(java.io.PrintWriter)

setLogWriter

void setLogWriter(PrintWriter out) throws SQLException

Установка записывателя журналов для этого объекта DataSource на заданный объект java.io.PrintWriter.

Записыватель журналов — это поток символьного вывода, в который будут выводиться все сообщения о регистрации и отслеживании для этого источника данных. Это включает сообщения, выводимые методами этого объекта, сообщения, выводимые методами других объектов, созданных этим объектом, и так далее. Сообщения, выводимые в записыватель журнала, специфичный для источника данных, не выводятся в записыватель журнала, связанный с классом java.sql.DriverManager. Когда объект DataSource создаётся, записыватель журнала первоначально равен null; другими словами, по умолчанию регистрация отключена.

Определено в:
setLogWriter в интерфейсе CommonDataSource
Параметры:
out - новый записыватель журналов; для отключения регистрации установить значение null
Исключения:
SQLException - если произошла ошибка доступа к базе данных
С:
1.4
См. также:
  • CommonDataSource.getLogWriter()

setLoginTimeout

void setLoginTimeout(int seconds) throws SQLException

Установка максимального времени в секундах, которое этот источник данных будет ждать при попытке подключения к базе данных. Значение 0 указывает на то, что таймаут — это значение таймаута по умолчанию для системы, если оно существует; в противном случае оно указывает на отсутствие таймаута. При создании объекта DataSource таймаут входа в систему первоначально равен 0.

Определено в:
setLoginTimeout в интерфейсе CommonDataSource
Параметры:
seconds - лимит времени входа в систему для источника данных
Исключения:
SQLException - если произошла ошибка доступа к базе данных.
С:
1.4
См. также:
  • CommonDataSource.getLoginTimeout()

getLoginTimeout

int getLoginTimeout() throws SQLException
Получение максимального времени в секундах, которое этот источник данных может ждать при попытке подключения к базе данных. Значение 0 означает, что таймаут — это значение таймаута по умолчанию для системы, если оно существует; в противном случае это означает, что таймаута нет. При создании объекта DataSource таймаут входа в систему первоначально равен 0.
Определено в:
getLoginTimeout в интерфейсе CommonDataSource
Возвращает:
лимит времени входа в систему для источника данных
Исключения:
SQLException - если произошла ошибка доступа к базе данных.
С:
1.4
См. также:
  • CommonDataSource.setLoginTimeout(int)

createConnectionBuilder

default ConnectionBuilder createConnectionBuilder() throws SQLException
Создать новый экземпляр ConnectionBuilder
Требования к реализации:
Реализация по умолчанию выбросит SQLFeatureNotSupportedException
Возвращает:
Экземпляр ConnectionBuilder, который был создан
Исключения:
SQLException - если произошла ошибка при создании билдера
SQLFeatureNotSupportedException - если драйвер не поддерживает фрагментацию
С:
9
См. также:
  • ConnectionBuilder

© 1993, 2023, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/21/docs/api/java.sql/javax/sql/DataSource.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API