Интерфейс DataSource
- Все суперинтерфейсы:
CommonDataSource, Wrapper
public interface DataSource extends CommonDataSource, Wrapper
Фабрика подключений к физическому источнику данных, который представляет этот объект DataSource. Альтернатива средству DriverManager, объект DataSource является предпочтительным способом получения подключения. Объект, реализующий интерфейс DataSource, обычно регистрируется в службе именования на основе API Java Naming and Directory (JNDI).
Интерфейс DataSource реализуется поставщиком драйвера. Существует три типа реализаций:
- Базовая реализация -- создает стандартный объект
Connection - Реализация с пулом подключений -- создает объект
Connection, который автоматически участвует в пуле подключений. Эта реализация работает с менеджером пула подключений промежуточного уровня. - Реализация распределенных транзакций -- создает объект
Connection, который может использоваться для распределенных транзакций и почти всегда участвует в пуле подключений. Эта реализация работает с менеджером транзакций промежуточного уровня и почти всегда с менеджером пула подключений.
Объект DataSource имеет свойства, которые при необходимости можно изменить. Например, если источник данных перемещен на другой сервер, можно изменить свойство сервера. Преимущество состоит в том, что благодаря возможности изменять свойства источника данных не требуется менять код, обращающийся к этому источнику данных.
Драйвер, доступ к которому осуществляется через объект DataSource, не регистрируется в DriverManager. Вместо этого объект DataSource извлекается с помощью операции поиска, а затем используется для создания объекта Connection. При базовой реализации подключение, полученное через объект DataSource, идентично подключению, полученному с помощью средства DriverManager.
Реализация DataSource должна включать общедоступный конструктор без аргументов.
- С момента:
- 1.4
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
default ConnectionBuilder |
createConnectionBuilder() |
Создает новый экземпляр ConnectionBuilder |
Connection |
getConnection() |
Пытается установить подключение к источнику данных, который представляет этот объект DataSource. |
Connection |
getConnection |
Пытается установить подключение к источнику данных, который представляет этот объект DataSource. |
int |
getLoginTimeout() |
Возвращает максимальное время в секундах, в течение которого этот источник данных может ожидать при попытке подключения к базе данных. |
PrintWriter |
getLogWriter() |
Получает средство записи журнала для этого объекта DataSource. |
void |
setLoginTimeout |
Задает максимальное время в секундах, в течение которого этот источник данных будет ожидать при попытке подключения к базе данных. |
void |
setLogWriter |
Задает для этого объекта DataSource указанное средство записи журналов java.io.PrintWriter. |
Методы, объявленные в интерфейсе CommonDataSource
createShardingKeyBuilder, getParentLogger | Модификатор и тип | Метод | Описание |
|---|---|---|
default ShardingKeyBuilder |
createShardingKeyBuilder() |
Создает новый экземпляр ShardingKeyBuilder |
Logger |
getParentLogger() |
Возвращает родительский Logger всех Logger, используемых этим источником данных. |
Методы, объявленные в интерфейсе Wrapper
isWrapperFor, unwrap | Модификатор и тип | Метод | Описание |
|---|---|---|
boolean |
isWrapperFor |
Возвращает true, если этот объект реализует интерфейс, переданный в качестве аргумента, или прямо либо косвенно является оберткой объекта, который его реализует. |
<T> T |
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
- См. также:
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
Задает максимальное время в секундах, в течение которого этот источник данных будет ожидать при попытке подключения к базе данных. Значение 0 указывает, что время ожидания определяется системным значением по умолчанию, если оно задано; в противном случае оно означает отсутствие ограничения времени ожидания. При создании объекта DataSource время ожидания входа изначально равно нулю.
- Определено в:
-
setLoginTimeoutв интерфейсеCommonDataSource - Параметры:
-
seconds- ограничение времени входа для источника данных - Вызывает исключение:
-
SQLException- если произошла ошибка доступа к базе данных. - С момента:
- 1.4
- См. также:
getLoginTimeout
int getLoginTimeout() throws SQLException
DataSource время ожидания входа изначально равно нулю.- Определено в:
-
getLoginTimeoutв интерфейсеCommonDataSource - Возвращает:
- ограничение времени входа для источника данных
- Вызывает исключение:
-
SQLException- если произошла ошибка доступа к базе данных. - С момента:
- 1.4
- См. также:
createConnectionBuilder
default ConnectionBuilder createConnectionBuilder() throws SQLException
ConnectionBuilder- Требования к реализации:
- Реализация по умолчанию вызывает исключение
SQLFeatureNotSupportedException - Возвращает:
- созданный экземпляр ConnectionBuilder
- Вызывает исключение:
-
SQLException- если при создании построителя произошла ошибка -
SQLFeatureNotSupportedException- если драйвер не поддерживает сегментирование - С момента:
- 9
- См. также:
© 1993, 2025, 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.