JNDI配置数据源
来源:互联网 发布:java权限代码 编辑:程序博客网 时间:2024/05/16 19:26
一、WebRoot/META-INF/context.xml
<?xml version="1.0" encoding="UTF-8"?><Context> <Resource name="jdbc/scsis" auth="Container" type="javax.sql.DataSource" driverClassName="oracle.jdbc.driver.OracleDriver" url="jdbc:oracle:thin:@(DESCRIPTION =(ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = x.x.x.x)(PORT = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = x.x.x.x)(PORT = 1521)) (LOAD_BALANCE = yes)(FAILOVER = on)) (CONNECT_DATA =(SERVICE_NAME = scsis)))" username="x" password="x" maxActive="20" maxIdle="10" maxWait="10000" removeAbandoned="true" removeAbandonedTimeout="60" logAbandoned="true" validationQuery="select 1 from dual" testOnBorrow="true" testWhileIdle="true"/> </Context>二、web.xml
<resource-ref> <description>JNDI DataSource</description> <res-ref-name>jdbc/scsis</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref>三、Constants.java
package com.x.util;import java.util.ResourceBundle;public final class Constants {/** Oracle数据源URL. */public static final String JDBC_DATASOURCE_URL;static {ResourceBundle bundle = ResourceBundle.getBundle("config");JDBC_DATASOURCE_URL = bundle.getString("jndi.jdbc.connector");}}四、config.properties
jndi.jdbc.connector=java:/comp/env/jdbc/scsis五、Utility.java
package com.x.util;import java.sql.Connection;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import java.util.regex.Matcher;import java.util.regex.Pattern;import javax.naming.InitialContext;import javax.sql.DataSource;import org.apache.log4j.Logger;public class Utility {private static final Logger log = Logger.getLogger(Utility.class);/** * 获取数据库连接 */public static Connection getConnection() {try {InitialContext initial = new InitialContext();// 使连接池初始化DataSource dataSource = (DataSource) initial.lookup(Constants.JDBC_DATASOURCE_URL);Connection con = dataSource.getConnection();return con;} catch (SQLException exp) {logDBError(exp);return null;} catch (Exception ex) {logError(ex);return null;}}/** * 记录异常 */public static synchronized void logError(Exception exp) {StackTraceElement ste[] = exp.getStackTrace();StringBuffer content = new StringBuffer();content.append("[" + exp.toString() + "]\n");for (int i = 0; i < ste.length; i++) {content.append(" " + ste[i].toString() + "\n");}log.error(content);}/** * 记录数据库异常 */public static synchronized void logDBError(Exception exp) {StackTraceElement ste[] = exp.getStackTrace();StringBuffer content = new StringBuffer();content.append(exp.toString());for (int i = 0; i < ste.length; i++) {content.append(" " + ste[i].toString() + "\n");}log.error(content);}}
0 0
- 配置JNDI数据源
- 配置JNDI JDBC数据源
- tomcat JNDI数据源配置
- JAVA配置JNDI数据源
- JNDI数据源配置
- Tomcat 配置JNDI 数据源
- jndi 数据源配置详解
- tomcat JNDI数据源配置
- JNDI配置数据源
- jetty配置jndi数据源
- Tomcat配置JNDI数据源
- Hibernate配置JNDI数据源
- JBOSS 配置 数据源JNDI
- tomcat JNDI配置数据源
- 使用JNDI配置数据源
- jndi c3p0 数据源 配置
- JNDI配置数据源
- jboss配置jndi数据源
- oracle全文检索
- Python学习笔记(四)dict和set
- mysql 每日备份
- iOS开发:用 Instruments 来检验你的app
- Bitmap.createBitmap
- JNDI配置数据源
- RTP/RTCP/RTSP负载H264的一些问题小结
- dp基础习题(4.7)
- iOS中self.xxx 和 _xxx 下划线的区别
- X86/X64处理器体系结构及寻址模式
- android SQLiteOpenHelper 和 DatabaseErrorHandler源码解析
- 偏执却管用的10条Java编程技巧
- hdoj 1002 大数(叔)处理 :)
- 【MFC】:MFC中列表的使用