📄 connectionfactory.java
字号:
package oa.sys;
import java.io.FileInputStream;
import java.io.FileWriter;
import java.io.PrintWriter;
import java.sql.Connection;
import java.util.Properties;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.sql.DataSource;
public class ConnectionFactory {
private static DataSource dsCache = null;
private static Properties prop = new Properties();
private static Object lock = new Object();
public static int error=0;
public static Connection getConnection() throws Exception{
if(dsCache == null){
synchronized(lock){
if(dsCache == null){
prop.load(new FileInputStream("dbsource"));
Context context = new InitialContext();
dsCache = (DataSource) context.lookup(prop.getProperty("key"));
}
}
PrintWriter log = new PrintWriter(new FileWriter("connection.log",true));
log.println(new java.util.Date() + ":当前方法名如getConnectio():"
+ sun.reflect.Reflection.getCallerClass(2));
log.close();
}
System.err.println();
System.err.println("数据连接+"+(++error));
Connection con = dsCache.getConnection();
return con;
}
public static Connection getConnection(String source) throws Exception{
if(dsCache == null){
synchronized(lock){
if(dsCache == null){
Context context = new InitialContext();
dsCache = (DataSource) context.lookup(source);
}
}
PrintWriter log = new PrintWriter(new FileWriter("connection.log",true));
log.println(new java.util.Date() + ":当前方法名如getConnectio():"
+ sun.reflect.Reflection.getCallerClass(2));
log.flush();
log.close();
}
System.err.println();
System.err.println("数据连接+"+(++error));
Connection con = dsCache.getConnection();
return con;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -