有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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) 个答案