public class BasicDataSource extends SimpleDataSource implements ConnectOptions
| Modifier and Type | Class and Description |
|---|---|
static class |
BasicDataSource.XmlVisitor |
| Modifier and Type | Field and Description |
|---|---|
protected Boolean |
autoCommit |
protected AtomicLong |
changed |
static Charset |
defaultFileCharset |
protected Integer |
networkTimeout |
protected Boolean |
networkTimeoutDaemon |
protected static ExecutorService |
networkTimeoutService |
protected Boolean |
networkTimeoutStatic |
protected String |
networkTimeoutThreadName |
protected Integer |
networkTimeoutThreads |
protected String |
schema |
protected AtomicLong |
scn |
protected TransactIsolation |
transactIsolation
Режим изоляции транзакций
|
static String |
XMLROOT
Имя корневого тега (dataSource)
|
loginTimeout, logWriter, properties, psupport, url| Constructor and Description |
|---|
BasicDataSource() |
BasicDataSource(BasicDataSource sample) |
BasicDataSource(String url) |
BasicDataSource(String url,
Properties props) |
BasicDataSource(String url,
String username,
String password) |
| Modifier and Type | Method and Description |
|---|---|
void |
assign(SimpleDataSource ds) |
BasicDataSource |
clone() |
protected void |
configureConnection(Connection conn) |
Boolean |
getAutoCommit()
Указывает автоматическое подтверждение транзакций
|
long |
getChanged()
Время (мс от 1970) последнего изменения.
|
Connection |
getConnection() |
Connection |
getConnection(String username,
String password) |
ConnectOptionsProperties |
getConnectOptions() |
long |
getIdleTimeout()
Указывает время (мс) простоя соединения, после которого соединение будет закрыто.
|
Integer |
getNetworkTimeout()
Устанавливает максимальный период, когда соединение или объекты,
созданные из Connection, будут ждать, пока база данных ответит на любой запрос.
|
Boolean |
getNetworkTimeoutDaemon()
Указывает как запускать сервис network timeout.
|
static ExecutorService |
getNetworkTimeoutService() |
Boolean |
getNetworkTimeoutStatic()
Использовать сервис проверки network timeout как статичный (синглетон) демон
Это поведение по умолчанию
|
String |
getNetworkTimeoutThreadName() |
Integer |
getNetworkTimeoutThreads()
Указывает кол-во потоков/тредов для сервиса network-timeout
|
String |
getSchema()
Указывают текущую схему при установке соединения
|
long |
getSCN()
Последовательный номер изменения
|
long |
getStatementIdleTimeout()
Указывает время (мс) простоя запроса,
после которого запрос будет закрыт.
|
TransactIsolation |
getTransactIsolation()
Указывает режим изоляции транзакций
|
protected void |
initScnIncrementor() |
boolean |
isCollectActivityStat()
Собирать статистику активности
|
boolean |
isProxyConnection()
Создавать прокси соединение
|
void |
loadXml(Node xml) |
static BasicDataSource |
read(XMLStreamReader reader) |
static BasicDataSource |
readXml(File reader) |
static BasicDataSource |
readXml(File reader) |
static BasicDataSource |
readXml(File reader,
Charset cs) |
static BasicDataSource |
readXml(File reader,
Charset cs) |
static BasicDataSource |
readXml(InputStream reader) |
static BasicDataSource |
readXml(InputStream reader,
Charset cs) |
static BasicDataSource |
readXml(Path reader) |
static BasicDataSource |
readXml(Path reader,
Charset cs) |
static BasicDataSource |
readXml(Reader reader) |
static BasicDataSource |
readXml(URL reader) |
static BasicDataSource |
readXml(URL reader,
Charset cs) |
void |
setAutoCommit(Boolean autoCommit)
Указывает автоматическое подтверждение транзакций
|
void |
setCollectActivityStat(boolean v)
Собирать статистику активности
|
void |
setIdleTimeout(long ms)
Указывает время (мс) простоя соединения, после которого соединение будет закрыто.
|
void |
setNetworkTimeout(Integer networkTimeout)
Указывает таймут сети.
|
void |
setNetworkTimeoutDaemon(Boolean networkTimeoutDaemon)
Указывает как запускать сервис network timeout.
|
void |
setNetworkTimeoutStatic(Boolean networkTimeoutStatic)
Использовать сервис проверки network timeout как статичный (синглетон) демон
|
void |
setNetworkTimeoutThreadName(String networkTimeoutThreadName) |
void |
setNetworkTimeoutThreads(Integer networkTimeoutThreads)
Указывает кол-во потоков/тредов для сервиса network-timeout
|
void |
setProxyConnection(boolean v)
Создавать прокси соединение
|
void |
setSchema(String schema)
Указывают текущую схему при установке соединения
|
void |
setStatementIdleTimeout(long ms)
Указывает время (мс) простоя запроса,
после которого запрос будет закрыт.
|
void |
setTransactIsolation(TransactIsolation transactIsolation)
Указывает режим изоляции транзакций
|
void |
write(Element el) |
void |
write(FormatXMLWriter xwr) |
void |
write(XMLStreamWriter xwr) |
void |
writeXml(File writer) |
void |
writeXml(File writer) |
void |
writeXml(File writer,
Charset cs) |
void |
writeXml(File writer,
Charset cs) |
void |
writeXml(OutputStream writer) |
void |
writeXml(OutputStream writer,
Charset cs) |
void |
writeXml(Path writer) |
void |
writeXml(Path writer,
Charset cs) |
void |
writeXml(Writer writer) |
addPropertyChangeListener, addPropertyChangeListener, firePropertyChange, getLoginTimeout, getLogWriter, getParentLogger, getPassword, getPropertyChangeListeners, getPropertyChangeListeners, getUrl, getUsername, hasListeners, isWrapperFor, properties, removePropertyChangeListener, removePropertyChangeListener, setLoginTimeout, setLogWriter, setPassword, setUrl, setUsername, unwrapprotected final AtomicLong scn
protected final AtomicLong changed
protected Boolean autoCommit
protected TransactIsolation transactIsolation
protected String schema
protected Integer networkTimeout
protected Integer networkTimeoutThreads
protected Boolean networkTimeoutDaemon
protected String networkTimeoutThreadName
protected static transient volatile ExecutorService networkTimeoutService
protected Boolean networkTimeoutStatic
public static final String XMLROOT
public static final Charset defaultFileCharset
public BasicDataSource()
public BasicDataSource(String url)
public BasicDataSource(String url, Properties props)
public BasicDataSource(BasicDataSource sample)
public BasicDataSource clone()
clone in class SimpleDataSourcepublic void assign(SimpleDataSource ds)
assign in class SimpleDataSourceprotected void initScnIncrementor()
public ConnectOptionsProperties getConnectOptions()
public long getChanged()
public long getSCN()
public boolean isProxyConnection()
isProxyConnection in interface ConnectOptionspublic void setProxyConnection(boolean v)
v - true - создавать проксиpublic boolean isCollectActivityStat()
isCollectActivityStat in interface ConnectOptionspublic void setCollectActivityStat(boolean v)
v - true - собирать статистику активностиpublic long getIdleTimeout()
значение -1 и меньше - не закрывать по истечению таймаута
getIdleTimeout in interface ConnectOptionspublic void setIdleTimeout(long ms)
значение -1 и меньше - не закрывать по истечению таймаута
ms - время (мс) простоя соединенияpublic long getStatementIdleTimeout()
значение -1 и меньше - не закрывать по истечению таймаута
getStatementIdleTimeout in interface ConnectOptionspublic void setStatementIdleTimeout(long ms)
значение -1 и меньше - не закрывать по истечению таймаута
ms - Время (мс) простояpublic Connection getConnection(String username, String password) throws SQLException
getConnection in interface DataSourcegetConnection in class SimpleDataSourceSQLExceptionpublic Connection getConnection() throws SQLException
getConnection in interface DataSourcegetConnection in class SimpleDataSourceSQLExceptionpublic Boolean getAutoCommit()
public void setAutoCommit(Boolean autoCommit)
autoCommit - true - автоматическое подтверждение транзакцийpublic TransactIsolation getTransactIsolation()
public void setTransactIsolation(TransactIsolation transactIsolation)
transactIsolation - режим изоляции транзакцийpublic String getSchema()
public void setSchema(String schema)
schema - имя схемыpublic Integer getNetworkTimeout()
Если какой-либо запрос остается без ответа, метод ожидания вернется с помощью SQLException, а Connection или объекты, созданные из Connection, будут отмечены как закрытые. Любое последующее использование объектов, за исключением методов close, isClosed или Connection.isValid, приведет к SQLException.
Примечание. Этот метод предназначен для решения редкого, но серьезного состояния, при котором сетевые разделы могут вызывать потоки, выдающие вызовы JDBC, для непрерывного зависания в сокетах, до OS TCP-TIMEOUT (обычно 10 минут). Этот метод связан с методом abort (), который предоставляет потоку администратора средство для освобождения таких потоков в случаях, когда соединение JDBC доступно для потока администратора. Метод setNetworkTimeout будет охватывать случаи, когда нет потока администратора или он не имеет доступа к соединению. Этот метод является серьезным в его эффектах и должен иметь достаточно высокое значение, поэтому он никогда не запускается до каких-либо более обычных тайм-аутов, таких как таймауты транзакций.
Реализации драйвера JDBC также могут поддерживать метод setNetworkTimeout, чтобы наложить ограничение на время отклика базы данных в средах, где нет сети.
Драйверы могут внутренне реализовывать некоторые или все свои вызовы API с несколькими внутренними передачами драйверов-баз данных, и для реализации этого варианта остается только, будет ли предел применяться всегда к ответу на вызов API или любому отдельному запросу во время вызова API.
Этот метод можно вызвать несколько раз, например, установить ограничение для области кода JDBC и сбросить значение по умолчанию при выходе из этой области. Вызов этого метода не влияет на уже выдающиеся запросы.
Значение тайм-аута Statement.setQueryTimeout () не зависит от значения таймаута, указанного в setNetworkTimeout. Если тайм-аут запроса истекает до истечения сетевого тайм-аута, выполнение заявки будет отменено.
Если сеть все еще активна, результатом будет то, что и оператор, и соединение все еще могут использоваться.
Однако, если истечение таймаута сети истекает до таймаута запроса или если тайм-аут инструкции выходит из строя из-за сетевых проблем, соединение будет отмечено как закрытое, любые ресурсы, удерживаемые соединением, будут освобождены, и соединение и инструкция будут непригодными.
Когда драйвер определяет, что значение тайм-аута setNetworkTimeout истекло, драйвер JDBC отмечает соединение закрытым и освобождает любые ресурсы, удерживаемые соединением.
Этот метод проверяет, есть ли объект SQLPermission, прежде чем позволить этому методу продолжить работу. Если существует SecurityManager и его метод checkPermission отклоняет вызов setNetworkTimeout, этот метод генерирует исключение java.lang.SecurityException.
public void setNetworkTimeout(Integer networkTimeout)
networkTimeout - таймаутgetNetworkTimeout()public Integer getNetworkTimeoutThreads()
public void setNetworkTimeoutThreads(Integer networkTimeoutThreads)
networkTimeoutThreads - кол-во тредов, по умолч 1public Boolean getNetworkTimeoutDaemon()
true (по умолчанию) - Сервис network timeout будет запущен как фоновый поток(потоки)
false - Сервис network timeout будет запущен как обычный поток (тред)
public void setNetworkTimeoutDaemon(Boolean networkTimeoutDaemon)
networkTimeoutDaemon - true (по умолчанию) - Сервис network timeout будет запущен как фоновый поток(потоки) public String getNetworkTimeoutThreadName()
public void setNetworkTimeoutThreadName(String networkTimeoutThreadName)
public static ExecutorService getNetworkTimeoutService()
public Boolean getNetworkTimeoutStatic()
Это поведение по умолчанию
public void setNetworkTimeoutStatic(Boolean networkTimeoutStatic)
networkTimeoutStatic - true - использовать статичный (синглетон) демон network timeoutprotected void configureConnection(Connection conn)
public void write(XMLStreamWriter xwr)
public void write(FormatXMLWriter xwr)
public void write(Element el)
public void writeXml(Writer writer)
public void writeXml(OutputStream writer)
public void writeXml(OutputStream writer, Charset cs)
public void writeXml(File writer)
public void writeXml(Path writer)
public void writeXml(File writer)
public static BasicDataSource read(XMLStreamReader reader)
public static BasicDataSource readXml(Reader reader)
public static BasicDataSource readXml(URL reader)
public static BasicDataSource readXml(URL reader, Charset cs)
public static BasicDataSource readXml(InputStream reader, Charset cs)
public static BasicDataSource readXml(InputStream reader)
public static BasicDataSource readXml(File reader)
public static BasicDataSource readXml(File reader, Charset cs)
public static BasicDataSource readXml(Path reader)
public static BasicDataSource readXml(Path reader, Charset cs)
public static BasicDataSource readXml(File reader)
public static BasicDataSource readXml(File reader, Charset cs)
public void loadXml(Node xml)
Copyright © 2018. All rights reserved.