jndi的局部配备与测试

jndi的局部配置与测试

jndi有全局配置和局部配置。关于jndi的全局配置即是在web服务器下进行配置,例如:在tomcat的conf文件夹下的context.xml配置文件中加入相关的配置或在weblogic的管理控制台中配置相应的jndi数据源(本机安装了weblogic的话访问http://127.0.0.1:7001/console进入管理控制台配置相应的jndi数据源)。

下面重点说说在项目中jndi的局部配置与测试。

1、 在项目的META-INF下面新建context.xml。

jndi的局部配备与测试

加入配置信息,例如:

 

<?xml version='1.0' encoding='utf-8'?>
<Context>
    <!-- Default set of monitored resources -->
	<Resource name="jdbc/birtReport" auth="Container" type="javax.sql.DataSource"
	maxActive="50" maxIdle="20" maxWait="2000" driverClassName="oracle.jdbc.OracleDriver"
	username="xxx" password="xxx" url="jdbc:oracle:thin:@ip:1521:instance name" />

</Context>

 2、写测试类 ,例如:JNDITest.java

/**
 * JNDI配置测试
 */
public class JNDITest {
	public void testJNDI() throws NamingException, SQLException {
		Context ctx = new InitialContext();
		//web服务器是tomcat时:ctx.lookup("java:comp/env/jdbc/birtReport");
		//web服务器是weblogic时:ctx.lookup("jdbc/birtReport");
		DataSource ds = (DataSource) ctx.lookup("java:comp/env/jdbc/birtReport");
		Connection conn = ds.getConnection();
		System.out.println(conn.isClosed());
	}
}

 3、 写测试的jsp,例如:jndiTest.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 
<%@page import="com.apply.test.JNDITest"%> 
<% 
	// 调用JNDITest类的testJNDI方法进行测试
	JNDITest test = new JNDITest();
	test.testJNDI();
	out.println("connection pool connected !!");   
%> 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>jndi配置测试</title>
  </head>
  <body>
  </body>
</html>

 

4、 访问该页面,测试jndi数据源是否能够正常访问:


jndi的局部配备与测试
 

见到页面输出"connection pool connected !! "表示数据源配置正确,并且能正确访问。