如何验证数据源是否有效且配置正确?
How to verify that data source is valid and configured properly?
在应用程序启动时,我正在加载数据源,如下代码所示 -
@Bean(name = "dataSource")
public DataSource getDataSource() {
ComboPooledDataSource dataSource = new ComboPooledDataSource ();
dataSource.setDriverClassName("com.mysql.jdbc.Driver");
dataSource.setUrl("jdbc:mysql://localhost:3306/usersdb");
dataSource.setUsername("root");
dataSource.setPassword("secret");
return dataSource;
}
所以这里我想验证下数据源是否正确加载,
一种可能的方法是 datasource.getConnection() 在 return 之前,但在这里我必须创建不必要的连接对象,它的成本很高。
请帮助我找到一种方法来验证数据源是否已正确实例化。我听说过有关验证查询的一些信息,但不确定它是如何工作的。请建议。
没有测试连接无法验证DataSource
。
首先,您默认定义单例范围的 bean,因此将通过单次检查创建单个 DataSource
。
其次,不用担心Connection
的创建成本,因为你用的是PooledDataSource
。 'Pooled' 表示存在连接池,这就是为什么物理连接一旦创建就可以被应用程序多次使用。
验证查询(或测试查询)用于检查现有的Connection
是否被破坏。有关详细信息,请参阅 Configuring Connection Testing。
在应用程序启动时,我正在加载数据源,如下代码所示 -
@Bean(name = "dataSource")
public DataSource getDataSource() {
ComboPooledDataSource dataSource = new ComboPooledDataSource ();
dataSource.setDriverClassName("com.mysql.jdbc.Driver");
dataSource.setUrl("jdbc:mysql://localhost:3306/usersdb");
dataSource.setUsername("root");
dataSource.setPassword("secret");
return dataSource;
}
所以这里我想验证下数据源是否正确加载, 一种可能的方法是 datasource.getConnection() 在 return 之前,但在这里我必须创建不必要的连接对象,它的成本很高。
请帮助我找到一种方法来验证数据源是否已正确实例化。我听说过有关验证查询的一些信息,但不确定它是如何工作的。请建议。
没有测试连接无法验证DataSource
。
首先,您默认定义单例范围的 bean,因此将通过单次检查创建单个 DataSource
。
其次,不用担心Connection
的创建成本,因为你用的是PooledDataSource
。 'Pooled' 表示存在连接池,这就是为什么物理连接一旦创建就可以被应用程序多次使用。
验证查询(或测试查询)用于检查现有的Connection
是否被破坏。有关详细信息,请参阅 Configuring Connection Testing。