Class DatabaseStartupValidator

All Implemented Interfaces:

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.

Juergen Hoeller, Marten Deinum
  • Field Details


      public static final int DEFAULT_INTERVAL
      The default interval.
      See Also:

      public static final int DEFAULT_TIMEOUT
      The default timeout.
      See Also:
    • logger

      protected final Log logger
  • Constructor Details

    • DatabaseStartupValidator

      public DatabaseStartupValidator()
  • Method Details

    • setDataSource

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

      @Deprecated public void setValidationQuery(String validationQuery)
      as of 5.3, in favor of the JDBC 4.0 connection validation
      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