`

Weblogic之weblogic数据源配置及jndi调用

 
阅读更多

将数据源交给容器管理,使用jndi的方式管理,可以很方便的管理数据库连接。

将数据管理库交给容器,后面工程直接使用jndi的方式在容器中获取jndi地址。

如果变更数据库地址,直接修改数据库连接池的地址即可,而各工程无需再一个个的修改数据库连接地址,简化了数据库的管理。

 

今天我们看看WebLogic中数据源的配置

启动WebLogic服务,进入WebLogic控制台

点击左侧的 服务 ->  数据源

新建 一般数据源 

填写数据源名称和 jndi名称,选择数据库类型

选择数据库驱动

默认下一步即可

填写数据库名称,主机名,端口号,数据库用户名和口令

点击测试配置,待消息区显示连接测试成功时,点击完成

 

接下来我们在web工程中来调用一下WebLogic容器的jndi数据源。

 

工程中web.xml配置为

 

[java] view plaincopy
 
  1. <resource-ref>    
  2.      <description>DB Connection</description>  
  3.      <res-ref-name>jdbc/test</res-ref-name>    
  4.      <res-type>javax.sql.DataSource</res-type>    
  5.      <res-auth>Container</res-auth>    
  6.   </resource-ref>   

 

 

接下来看看工程代码中的调用

 

[java] view plaincopy
 
  1. Hashtable<String, String> env = new Hashtable<String, String>();    
  2.        env.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");    
  3.        env.put(Context.PROVIDER_URL,"t3://localhost:7001");    
  4.          
  5.        // 初始化查找命名空间  
  6. Context ctx = new InitialContext(env);  
  7. DataSource ds = (DataSource) ctx.lookup("java:comp/env/jdbc/test");  
  8. // 获取数据库连接  
  9. Connection conn = ds.getConnection();  

 

 

这时,会有

[java] view plaincopy
 
  1. javax.naming.LinkException:  [Root exception is javax.naming.NameNotFoundException:   
  2. While trying to lookup 'jdbc.test' didn't find subcontext 'jdbc'. Resolved ''; remaining name 'jdbc/test'];   
  3. Link Remaining Name: 'jdbc/test' at weblogic.jndi.internal.WLNamingManager.getObjectInstance(WLNamingManager.java:100)  

异常产生。

仔细检查会发现,我们的数据源定义好了,但是没有指定它的服务目标

现在我们将数据源绑定到它的目标server上面去

点击数据源jdbcTest,进入到数据源详细信息页面

点击上面的目标Tab页签,展示目标页内容

勾选AdminServer前面的勾,点击保存,设置jdbcTest数据源为AdminServer服务。

待消息区出现,已激活所有更改,不需要重新启动,设置更新成功。 数据源设置成功。

重新在工程中获取数据库连接池,可成功获取。

分享到:
评论

相关推荐

    spring获取weblogic jndi数据源的两种方式

    spring获取weblogic jndi数据源的两种方式,一种本地weblogic server获取,无需用户名、密码、IP和端口等;另一种为从其他weblogic server获取,则必须申明用户名、密码、IP和端口

    经典JAVA.EE企业应用实战.基于WEBLOGIC_JBOSS的JSF_EJB3_JPA整合开发.pdf

    4.1.3 使用WebLogic服务器管理的 数据源 182 4.1.4 使用JBoss服务器管理的数据源 187 4.2 事务和JTA 191 4.2.1 事务的基本概念 191 4.2.2 分布式事务处理、XA规范和 2PC协议 192 4.2.3 使用JTA全局事务保证多 数据库...

    Spring.3.x企业应用开发实战(完整版).part2

    8.4.2 获取JNDI数据源 8.4.3 Spring的数据源实现类 8.5 小结 第9章 Spring的事务管理 9.1 数据库事务基础知识 9.1.1 何为数据库事务 9.1.2 数据并发的问题 9.1.3 数据库锁机制 9.1.4 事务隔离级别 9.1.5 JDBC对事务...

    Spring3.x企业应用开发实战(完整版) part1

    8.4.2 获取JNDI数据源 8.4.3 Spring的数据源实现类 8.5 小结 第9章 Spring的事务管理 9.1 数据库事务基础知识 9.1.1 何为数据库事务 9.1.2 数据并发的问题 9.1.3 数据库锁机制 9.1.4 事务隔离级别 9.1.5 JDBC对事务...

    JDBC 3.0数据库开发与设计

    第2章 JDBC开发环境及配置 2.1 数据库系统 2.1.1 SQL数据库数据库基本操作语句 2.1.2 Microsoft SQL Server数据库设计及ODBC配置 2.1.3 Oracle 数据库的基本说明及其使用简介 2.1.4 MySQL的安装及使用简介 ...

    JSP高级编程          

    3.3 EJB 开发实例封装数据源 3.4 本章小结 第4 章 JSP 与J2EE 分布式处理技术 4.1 J2EE 和分布式处理技术 4.2 远程方法调用RMI 技术 4.3 CORBA 技术 4.4 JNDI 技术 4.5 本章小结6 第二部分 JSP 技术和XML 技术 第5 ...

    JSP高级编程(全)

    3.3 EJB 开发实例封装数据源 3.4 本章小结 第4 章 JSP 与J2EE 分布式处理技术 4.1 J2EE 和分布式处理技术 4.2 远程方法调用RMI 技术 4.3 CORBA 技术 4.4 JNDI 技术 4.5 本章小结6 第二部分 JSP 技术和XML 技术 第5 ...

    超级有影响力霸气的Java面试题大全文档

     ArrayList 和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,...

    java 面试题 总结

    ArrayList和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,Vector...

    JSP实用技巧集合,jsp编程的一些小技巧总结

    数据源 JNDI名字 mysource 23. 三级下拉列表框联动菜单? 24. 在JSP中如何调用浏览器中的"另存为"功能? 25. 网页全屏显示 26. 求两个日期相隔了多少天:输入时间格式为(yyyy-mm-dd) 27. 上传文件对话框 28. 分页测试 ...

    千方百计笔试题大全

    154、能设置一些代码在我所有的JSP文件之上运行?如果可以,能共享吗? 37 155、对一个JSP页,如果多个客户端同时请求它,同步可能吗? 37 156、在jsp:useBean语法中使用beanName有何好处? 37 157、当我使用时,在...

    java面试宝典

    154、能设置一些代码在我所有的JSP文件之上运行?如果可以,能共享吗? 37 155、对一个JSP页,如果多个客户端同时请求它,同步可能吗? 37 156、在jsp:useBean语法中使用beanName有何好处? 37 157、当我使用时,在...

    JAVA上百实例源码以及开源项目源代码

    6个目标文件,EJB来模拟银行ATM机的流程及操作:获取系统属性,初始化JNDI,取得Home对象的引用,创建EJB对象,并将当前的计数器初始化,调用每一个EJB对象的count()方法,保证Bean正常被激活和钝化,EJB对象是用...

    jsp编程技巧集锦

    数据源 JNDI名字 mysource 23. 三级下拉列表框联动菜单? 24. 在JSP中如何调用浏览器中的"另存为"功能? 25. 网页全屏显示 26. 求两个日期相隔了多少天:输入时间格式为(yyyy-mm-dd) 27. 上传文件...

    java源码包---java 源码 大量 实例

    6个目标文件,EJB来模拟银行ATM机的流程及操作:获取系统属性,初始化JNDI,取得Home对象的引用,创建EJB对象,并将当前的计数器初始化,调用每一个EJB对象的count()方法,保证Bean正常被激活和钝化,EJB对象是用...

    java源码包2

    6个目标文件,EJB来模拟银行ATM机的流程及操作:获取系统属性,初始化JNDI,取得Home对象的引用,创建EJB对象,并将当前的计数器初始化,调用每一个EJB对象的count()方法,保证Bean正常被激活和钝化,EJB对象是用...

    JAVA上百实例源码以及开源项目

    6个目标文件,EJB来模拟银行ATM机的流程及操作:获取系统属性,初始化JNDI,取得Home对象的引用,创建EJB对象,并将当前的计数器初始化,调用每一个EJB对象的count()方法,保证Bean正常被激活和钝化,EJB对象是用...

    java源码包3

    6个目标文件,EJB来模拟银行ATM机的流程及操作:获取系统属性,初始化JNDI,取得Home对象的引用,创建EJB对象,并将当前的计数器初始化,调用每一个EJB对象的count()方法,保证Bean正常被激活和钝化,EJB对象是用...

Global site tag (gtag.js) - Google Analytics