Wis*_*szh 7 java jndi datasource
我想测试一些内部Web应用程序的新功能.此新代码使用通常由应用程序服务器(tomcat)提供的数据库连接.
我不想在我的本地计算机上重新创建整个Web应用程序来测试新代码,因为我只需要运行一个函数.
有没有人知道如何"欺骗"上下文或数据源来检索数据库配置,而无需在服务器上实际创建Web应用程序实例?
在 Spring SimpleNamingContextBuilder和 Apache BasicDataSource的帮助下,您可以执行以下操作(我通常将其放在需要 JNDI 的测试类的静态块中):
BasicDataSource dataSource = new BasicDataSource();
dataSource.setDriverClassName(db_driver_name);
dataSource.setUrl(db_connection_url);
dataSource.setUsername(db_username);
dataSource.setPassword(db_password);
SimpleNamingContextBuilder builder = new SimpleNamingContextBuilder();
builder.bind(jndi_name, dataSource);
builder.activate();
Run Code Online (Sandbox Code Playgroud)
的值jndi_name可能如下所示:java:comp/env/jdbc/my-db
设置完成后,通常通过 JNDI 查找数据库连接的代码应该可以工作。例如,上面的代码适用于以下 Spring 配置:
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="java:comp/env/jdbc/my-db"/>
</bean>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5111 次 |
| 最近记录: |