代码中jndi数据源的支持
2024-08-31 22:40:12
项目中基本都使用Spring框架,支持jndi还是很简单的,只需在spring配置文件中加入
<!-- 使用jndi配置数据源 -->
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName">
<value>java:comp/env/jndi数据源名称</value>
</property>
</bean>
在本地开发中,一般使用tomcat,不会启动weblogic,所以,要配置context.xml以支持jndi
路径 /WebContent/META-INF/context.xml
内容基本如下
<?xml version="1.0" encoding="UTF-8"?>
<Context>
<Resource
name="jndi数据源名称"
auth="Container"
type="javax.sql.DataSource"
username="xx"
password="xx"
url="jdbc:oracle:thin:@10.10.68.248:1521:orcl"
driverClassName="oracle.jdbc.driver.OracleDriver"
maxIdle="10"
maxWait="1000"
maxActive="20"
/>
</Context>
web.xml可以配置
<!--
JNDI配置的资源引用:
• res-ref-name:表示引用资源的名称
• res-type:此资源对应的类型为javax.sql.DataSource
• res-auth:容器授权管理
-->
<!--Oracle数据库JNDI数据源引用 -->
<resource-ref>
<description>Oracle DB Connection</description>
<res-ref-name>jndi数据源名称</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
项目中如果不使用spring框架,代码需要兼容驱动管理与jndi的连接的方式,以提高健壮性,部分伪代码
public Connection getConnection()
throws SQLException
{
if(isJndi)
return getJndiConnection();
else
return getDriverConnection();
} private void initJndiConnection()
throws NamingException
{
Context ctx = new InitialContext();
ds = (DataSource)ctx.lookup(config.getJndi());
} public Connection getJndiConnection()
throws SQLException
{
return ds.getConnection();
} private Connection getDriverConnection()
throws SQLException
{
Connection conn = DriverManager.getConnection(config.getUrl(), config.getUserName(), getPassword(config));
return conn;
}
最新文章
- gpu对任意长度的矢量求和
- php 做数学运算时结果为0的原因
- ural 1255. Graveyard of the Cosa Nostra
- [zt] Android中使用List列表
- C#保存Base64格式图片
- kali 2016的基础配置
- bzoj 1058 [ZJOI2007]报表统计(set)
- SPRING IN ACTION 第4版笔记-第七章Advanced Spring MVC-006- 如何保持重定向的request数据(用model、占位符、RedirectAttributes、model.addFlashAttribute(";spitter";, spitter);)
- 微信公众号支付(一):获取用户openId
- BZOJ 1863: [Zjoi2006]trouble 皇帝的烦恼( 二分答案 )
- HDU 5074-Hatsune Miku(DP)
- jquery实现网页倒计时
- Spring (3.2.4) 常用jar 包解析
- Self Hosting WebServer 的几种方式
- linux 安装配置 sublime 进行 python 开发
- 【POJ 3159】Candies&;&;洛谷P3275 [SCOI2011]糖果
- windows编程按小时生成日志文件
- [转]RJ45接口说明
- SO_REUSEADDR SO_REUSEPORT
- FZU2110 Star【计算几何】