项目中基本都使用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;
}

最新文章

  1. gpu对任意长度的矢量求和
  2. php 做数学运算时结果为0的原因
  3. ural 1255. Graveyard of the Cosa Nostra
  4. [zt] Android中使用List列表
  5. C#保存Base64格式图片
  6. kali 2016的基础配置
  7. bzoj 1058 [ZJOI2007]报表统计(set)
  8. SPRING IN ACTION 第4版笔记-第七章Advanced Spring MVC-006- 如何保持重定向的request数据(用model、占位符、RedirectAttributes、model.addFlashAttribute(&quot;spitter&quot;, spitter);)
  9. 微信公众号支付(一):获取用户openId
  10. BZOJ 1863: [Zjoi2006]trouble 皇帝的烦恼( 二分答案 )
  11. HDU 5074-Hatsune Miku(DP)
  12. jquery实现网页倒计时
  13. Spring (3.2.4) 常用jar 包解析
  14. Self Hosting WebServer 的几种方式
  15. linux 安装配置 sublime 进行 python 开发
  16. 【POJ 3159】Candies&amp;&amp;洛谷P3275 [SCOI2011]糖果
  17. windows编程按小时生成日志文件
  18. [转]RJ45接口说明
  19. SO_REUSEADDR SO_REUSEPORT
  20. FZU2110 Star【计算几何】

热门文章

  1. redhat6.5安装10201解决办法
  2. c++中的相对路径
  3. SQl 事务增加数据
  4. 关于python的深浅拷贝、赋值
  5. (转)Windows Server 2012 R2虚拟机自激活(AVMA)技术
  6. Redis 性能測试
  7. express 学习笔记(一)路由
  8. 10.1、android输入系统_必备Linux编程知识_inotify和epoll
  9. NIO 入门(转)
  10. AMP Physical Link Creation And Disconnect