org.springframework.jdbc.support
Class DatabaseStartupValidator

java.lang.Object
  extended by org.springframework.jdbc.support.DatabaseStartupValidator
All Implemented Interfaces:
InitializingBean

public class DatabaseStartupValidator
extends Object
implements 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

Field Summary
static int DEFAULT_INTERVAL
           
static int DEFAULT_TIMEOUT
           
protected  Log logger
           
 
Constructor Summary
DatabaseStartupValidator()
           
 
Method Summary
 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.
 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)
          Set the SQL query string to use for validation.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_INTERVAL

public static final int DEFAULT_INTERVAL
See Also:
Constant Field Values

DEFAULT_TIMEOUT

public static final int DEFAULT_TIMEOUT
See Also:
Constant Field Values

logger

protected final Log logger
Constructor Detail

DatabaseStartupValidator

public DatabaseStartupValidator()
Method Detail

setDataSource

public void setDataSource(DataSource dataSource)
Set the DataSource to validate.


setValidationQuery

public void setValidationQuery(String validationQuery)
Set 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 interface InitializingBean