java在JNDI和非JNDI环境中获取数据源
我有一个带有一个DAO实现模块的模块化应用程序,它允许通过JDBC
与数据库进行交互。当我编写DAO模块时,我希望通过JNDI
获得我的DataSource
,因为该模块直到现在都是作为web应用程序的一部分使用的。但是,我需要在独立应用程序中使用相同的DAO模块,因此无法通过JNDI
获取数据源
以下是我获取数据源的方式:
@Bean(destroyMethod = "close")
public DataSource dataSource() throws Exception {
return new JndiDataSourceLookup().getDataSource("java:comp/env/jdbc/mydatasource");
}
我考虑了在上面的模块中定义数据源的可能性,如下所示:
对于web应用程序模块,与前面的代码片段相同
对于备用模块,如下所示:
@Bean(destroyMethod = "close")
public DataSource dataSource() throws Exception {
ComboPooledDataSource dataSource = new ComboPooledDataSource();
dataSource.setDriverClass(driverClassName);
dataSource.setJdbcUrl(jdbcUrl);
dataSource.setUser(username);
dataSource.setPassword(password);
return dataSource;
}
我正在寻找一个更好的方法,如果有一个
共 (0) 个答案