如何获取weblogic配置的JNDI数据库连接池信息

如何获取weblogic配置的JNDI数据库连接池信息,第1张

数据源交给容器管理,使用jndi的方式管理,可以很方便的管理数据库连接。将数据管理库交给容器,后面工程直接使用jndi的方式在容器中获取jndi地址。如果变更数据库地址,直接修改数据库连接池的地址即可,而各工程无需再一个个的修改数据库连接地址,简化了数据库的管理。今天我们看看WebLogic中数据源的配置启动WebLogic服务,进入WebLogic控制台点击左侧的服务->数据源

前置 *** 作: 1 打开configuration Wizard 创建一个域 mydomain (基本上一路“NEXT” ,最后“DONE”,需要注意的就是路径的问题)

2 在Myeclipse 中创建一个web 命名test

在Myeclipse 中部署

1)在工具栏中打开window/preferences/myeclipse/application Servers/weblogic/weblogic 8.x

2) 配置信息: (1)BEA home directory:D:/BEA。假定WebLogic安装在D:/BEA文件夹中。

(2)WebLogic installation directory:D:/BEA/weblogic81。

(3)Admin username:weblogic。

(4)Admin password:weblogic。

(5)Execution domain root:C:/BEA/user_projects/mydomain。

(6)Execution domain name:mydomain。

(7)Execution server name:myserver。

(8)Hostname:PortNumber:localhost:7001。

(9)Security policy file:D:/BEA/weblogic81/server/lib/weblogic.policy。

(10)JAAS login configuration file:省略。

一些设置因人而异

3)这是很重要的步骤 在配置的weblogic 8.x 中JDK 选择BEA自带的JDK 不用也可以 但必须选 择jdk 1.4 因为weblogic81 不支持jdk1.5 或更高版本 不然启动不成功

4)最后点击Paths,在右边的Prepend to classpath列表框中,通过Add JAR/ZIP按钮,加入D:/BEA/weblogic81/server/lib/weblogic.jar、D:/BEA/weblogic81/ server/lib/webservices.jar。如果用到数据库,还需把数据库的驱动类库加进来,这里我们用WebLogic自带的SQL Server数据库驱动库D:/BEA/weblogic81/server/lib/mssqlserver2.jar。(我试过不加这几个 jar 也没出问题 还是尽量加上为好)

至此 总算是部署成功了。。

补充一点: 如果启动时候报这样的错误 [url=javascript:]Deployment[/url] [url=javascript:]descriptor[/url] "[url=javascript:]web[/url].xml" is [url=javascript:]malformed[/url]. Check against the DTD: org.xml.sax.SAXParseException: cvc-elt.1: Cannot find the declaration of element 'web-app'.

原因是因为工程创建时候用的是jdk1.5 或者以上版本 解决办法可以用jdk1.4 重新编译 或者只要把web.xml 文件头改为

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">

这个jdk 1.4生成的web.xml的文件头 修改后启动就没问题了。。

下面是配置 DB2 JDBC 的步骤:

1. 将C:/Program Files/SQLLIB/java/ db2java.zip改名为.jar文件,COPY到C:/bea/weblogic81

/server/lib下(可以把所有的*.jar都考过去),这一步是将db2的jdbc驱动放在weblogic下

2. 修改C:/bea/weblogic81/common/bin/commEnv.cmd在

set WEBLOGIC_CLASSPATH=后加入%WL_HOME%/server/lib/db2jcc.jar%WL_HOME%/server/lib/db2java.jar

3. 修改C:/bea/weblogic81/server/bin/startWLS.cmd在

set CLASSPATH=后加入%WL_HOME%/server/lib/db2jcc.jar%WL_HOME%/server/lib/db2java.jar

以上两步是设置jdbc驱动的路径,以让weblogic可以识别

4. 启动C:/bea/user_projects/domains/mydomain/startWebLogic.cmd

5. 登录http://127.0.0.1:7001/console进去

6. 新建一个connection pool (Services/JDBC/connection Pools)

7. 按照页面填写,database type为db2database driver为other,”continue”

8. NAME 随便起

DriverClassname: COM.ibm.db2.jdbc.net.DB2Driver

URL: jdbc:db2://ip地址,本地为localhost:端口号/数据库名

Database user name 为admin

PASSWORD:admin

9. 测试连接,成功后应该有connection successful的画面

1、搭配连接池

首先在浏览器的地址栏输入: http://localhost:7001/console 进入控制台

在左侧菜单中顺次进去mydomain(自定义的域名目)-服务-JDBC-连接缓冲池

点击“搭配新的 JDBC Connection Pool... ”

数据种类抉择:Oracle

数据库驱动过程抉择:Oracle's Driver (Thin) Version:9.0.1,0.2.0,10

点击右下角的“继续”

在名目中写入想要设置的连接池名目(本例为:myconnection1)

数据库名目:要拜会的数据库名目

主机名:写入数据库服务器的主机名目或IP地址(本例:192.168.1.251)

端口号默感受:1521

数据库用户名目、密码依据翔事实况填写

点击“继续”

在下一页中点击“测验驱动过程搭配”揭示“连接获胜”

点击“创立和安排”

在新版面的列表中揭示myconnection1的搭配项

连接池搭配告终

2、测验搭配连接池

在左侧菜单中顺次进去mydomain(自定义的域名目)-服务-JDBC-连接缓冲池

点击“myconnection1”

在搭配页签中点击“连接”页签

点击高级选项“揭示”

抉择“测验保留连接”,“测验创立连接”,“测验释放连接”

在“测验表名目”中写入数据库中容易一张表的名目

在“初始SQL”中写入“SQL select * from student”

抉择“扶持本地事务”选项

点击“利用”

在“测验”页签下点击“测验缓冲池”

揭示“测验获胜”

3、搭配JDBC数据源

在管教扼制台左侧菜单中顺次进去mydomain(自定义的域名目)-服务-JDBC-数据源

点击“搭配新的 JDBC Data Source”

在名目中写入要搭配的数据源名目(本例:mydatasource1)

在JNDI名目中写入拜会的名字(本例:test/ora9)

点击“继续”

在缓冲池名目入抉择myconnection1

点击“继续”、“创立”

在列表中揭示mydatasource1搭配项

数据源搭配告终

4、测验JDBC数据源

创立并安排testjdbc.jsp,源码如下:

<%@ page import="java.sql.*"%> <%@ page import="javax.naming.*"%> <%@ page import="javax.sql.*"%> <% try{ Context initCtx=new InitialContext() DataSource ds=(DataSource)initCtx.lookup("test/student") Connection conn=ds.getConnection() Statement stmt=conn.createStatement() //查询表emp数据条数 ResultSet rs=stmt.executeQuery("select count(*) as num from emp") rs.next() out.println(rs.getString("num")) rs.close() stmt.close() }catch(Exception e){ e.printStackTrace() } %>


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9441184.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存