代码中jndi数据源的支持
项目中基本都使用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;
}
代码中jndi数据源的支持的更多相关文章
- jboss EAP 6.2+ 通过代码控制JNDI数据源
通过Jboss提供的API,可以操控JBoss,效果跟在管理控制台手动操作完全一样,下面是示例代码: 一.pom.xml添加依赖项 <dependency> <groupId> ...
- tomcat下context.xml中JNDI数据源配置
jndi(Java Naming and Directory Interface,Java命名和目录接口)是一组在Java应用中访问命名和目录服务的API.命名服务将名称和对象联系起来,使得我们可以用 ...
- JNDI数据源
孤傲苍狼 只为成功找方法,不为失败找借口! JNDI学习总结(一)——JNDI数据源的配置 一.数据源的由来 在Java开发中,使用JDBC操作数据库的四个步骤如下: ①加载数据库驱动程序(Cla ...
- Tomcat 6 JNDI数据源详解
数据库连接池这个概念应该都不陌生,在Java中连接池也就是数据库的连接池,它是一种采用连接复用的思想避免多次连接造成资源的浪费机制. 最常见的连接池就是DBCP和C30P了,在tomcat中默认使用的 ...
- JNDI学习总结(一)——JNDI数据源的配置
一.数据源的由来 在Java开发中,使用JDBC操作数据库的四个步骤如下: ①加载数据库驱动程序(Class.forName("数据库驱动类");) ②连接数据库(Connec ...
- JNDI数据源的配置
一.数据源的由来 在Java开发中,使用JDBC操作数据库的四个步骤如下: ①加载数据库驱动程序(Class.forName("数据库驱动类");) ②连接数据库(Conn ...
- JNDI学习总结(一)——JNDI数据源的配置(转)
一.数据源的由来 在Java开发中,使用JDBC操作数据库的四个步骤如下: ①加载数据库驱动程序(Class.forName("数据库驱动类");) ②连接数据库(Conn ...
- JNDI数据源配置
一.数据源的由来 在Java开发中,使用JDBC操作数据库的四个步骤如下: ①加载数据库驱动程序(Class.forName("数据库驱动类");) ②连接数据库(Connec ...
- JNDI学习总结(2)——JNDI数据源的配置
一.数据源的由来 在Java开发中,使用JDBC操作数据库的四个步骤如下: ①加载数据库驱动程序(Class.forName("数据库驱动类");) ②连接数据库(Con ...
随机推荐
- Javascript和jquery事件--键盘事件KeyboardEvent
Js和jq事件—键盘事件KeyboardEvent 键盘事件keydown,keypress和keyup,还需要涉及到一个文本事件textInput. keydown,keypress和keyup事件 ...
- ASP.NET Core 2.2 十九. 你扔过来个json,我怎么接
原文:ASP.NET Core 2.2 十九. 你扔过来个json,我怎么接 前文说道了Action的激活,这里有个关键的操作就是Action参数的映射与模型绑定,这里即涉及到简单的string.in ...
- 【Codeforces Round #431 (Div. 2) B】 Tell Your World
[链接]点击打开链接 [题意] n个点,x从左到右严格递增的顺序给出 让你划两条平行的,且没有相同点的直线; 使得它们俩各自最少穿过一个点. 且它们俩穿过了所有的点. [题解] 枚举第一个点和哪个点组 ...
- oracle-function 练习
/* *scm_iss.test_imti_fun2 *带有输入參数的Function */ CREATE OR REPLACE FUNCTION TEST_IMTI_FUN2(P_NO IN NUM ...
- Android 网络图片Url 转 Bitmap
注意:该方法必须要在子线程中调用,因为涉及网络请求 public Bitmap getBitmap(String url) { Bitmap bm = null; try { URL iconUrl ...
- iOS开发 非常全的三方库、插件、大牛博客等等
UI 下拉刷新 EGOTableViewPullRefresh- 最早的下拉刷新控件. SVPullToRefresh- 下拉刷新控件. MJRefresh- 仅需一行代码就可以为UITableVie ...
- 【例题 6-8 UVA - 548】Tree
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 后序遍历的最后一个是根节点. ->然后在中序遍历中找到这个节点. 分为左右两段. 然后递归上述操作就好. 题目描述好坑啊. 原 ...
- Codeforces Round #315 (Div. 2) (ABCD题解)
比赛链接:http://codeforces.com/contest/569 A. Music time limit per test:2 seconds memory limit per test: ...
- 2.CCGridAction(3D效果),3D反转特效,凸透镜特效,液体特效,3D翻页特效,水波纹特效,3D晃动的特效,扭曲旋转特效,波动特效,3D波动特效
1 类图组织 2 实例 CCSprite * spr = CCSprite::create("HelloWorld.png"); spr->setPosition(cc ...
- c#之mysql四种带事务批量插入
前言 对于像我这样的业务程序员开发一些表单内容是家常便饭的事情,说道表单 我们都避免不了多行内容的提交,多行内容保存,自然要用到数据库,如果循环打扰我数据库,数据库也会觉得很累,从而增加数据库服务器压 ...