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

本文介绍了如何在WebLogic中配置数据源并使用JNDI进行调用,通过容器管理数据库连接,简化数据库地址的修改和管理。详细步骤包括在WebLogic控制台创建数据源,设置JNDI名称,测试数据库连接,然后在Web工程中通过web.xml配置和代码调用来使用JNDI数据源。在遇到异常时,需将数据源绑定到目标服务器,例如AdminServer,以确保成功获取数据库连接池。

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

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

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


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

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

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

新建 一般数据源

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

选择数据库驱动

默认下一步即可

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

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


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


工程中web.xml配置为

<resource-ref>  
     <description>DB Connection</description>
     <res-ref-name>jdbc/test</res-ref-name>  
     <res-type>javax.sql.DataSource</res-type>  
     <res-auth>Container</res-auth>  
  </resource-ref> 



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

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


这时,会有

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

异常产生。

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

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

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

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


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

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

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


上一篇:weblogic domain域安装

下一篇:eclipse开发时weblogic 插件安装

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值