Package org.springframework.jdbc.support
Class DatabaseStartupValidator
java.lang.Object
org.springframework.jdbc.support.DatabaseStartupValidator
- All Implemented Interfaces:
InitializingBean
Bean that checks if a database has already started up. To be referenced
via "depends-on" from beans that depend on database startup, like a Hibernate
SessionFactory or custom data access objects that access a DataSource directly.
Useful to defer application initialization until a database has started up. Particularly appropriate for waiting on a slowly starting Oracle database.
- Since:
- 18.12.2003
- Author:
- Juergen Hoeller, Marten Deinum
-
Field Summary
Modifier and TypeFieldDescriptionstatic final int
The default interval.static final int
The default timeout.protected final org.apache.commons.logging.Log
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
Check whether the validation query can be executed on a Connection from the specified DataSource, with the specified interval between checks, until the specified timeout.void
setDataSource
(DataSource dataSource) Set the DataSource to validate.void
setInterval
(int interval) Set the interval between validation runs (in seconds).void
setTimeout
(int timeout) Set the timeout (in seconds) after which a fatal exception will be thrown.void
setValidationQuery
(String validationQuery) Deprecated.as of 5.3, in favor of the JDBC 4.0 connection validation
-
Field Details
-
DEFAULT_INTERVAL
public static final int DEFAULT_INTERVALThe default interval.- See Also:
-
DEFAULT_TIMEOUT
public static final int DEFAULT_TIMEOUTThe default timeout.- See Also:
-
logger
protected final org.apache.commons.logging.Log logger
-
-
Constructor Details
-
DatabaseStartupValidator
public DatabaseStartupValidator()
-
-
Method Details
-
setDataSource
Set the DataSource to validate. -
setValidationQuery
Deprecated.as of 5.3, in favor of the JDBC 4.0 connection validationSet the SQL query string to use for validation. -
setInterval
public void setInterval(int interval) Set the interval between validation runs (in seconds). Default is 1. -
setTimeout
public void setTimeout(int timeout) Set the timeout (in seconds) after which a fatal exception will be thrown. Default is 60. -
afterPropertiesSet
public void afterPropertiesSet()Check whether the validation query can be executed on a Connection from the specified DataSource, with the specified interval between checks, until the specified timeout.- Specified by:
afterPropertiesSet
in interfaceInitializingBean
-