import java.sql.Connection;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;import javax.naming.Context;
import javax.naming.InitialContext;
import javax.sql.DataSource;public class DbConn { private static final String JNDI_NAME = "weblogic连接池的JNDI";

private static Map dataSourceMap;

static {
dataSourceMap = Collections.synchronizedMap(new HashMap());
}

public static Connection getConnection() {
try {
DataSource dataSource = (DataSource) dataSourceMap.get(JNDI_NAME);
if (null != dataSource) {
return dataSource.getConnection();
}
Context context = new InitialContext();
if (context == null) {
System.out.println("Context is null");
}
dataSource = (DataSource) context.lookup(JNDI_NAME);
dataSourceMap.put(JNDI_NAME, dataSource);
return dataSource.getConnection();
} catch (Exception e) {
e.printStackTrace();
}
return null;
}

}

解决方案 »

  1.   

    import java.sql.Connection;
    import java.util.Collections;
    import java.util.HashMap;
    import java.util.Map;import javax.naming.Context;
    import javax.naming.InitialContext;
    import javax.sql.DataSource;public class DbConn {    private static final String JNDI_NAME = "weblogic连接池的JNDI";
        
        private static Map dataSourceMap;
        
        static {
            dataSourceMap = new java.util.concurrent.ConcurrentHashMap();
        }
        
        public static Connection getConnection() {
            try {
                DataSource dataSource = (DataSource) dataSourceMap.get(JNDI_NAME);
                if(dataSource == null) {
    synchronized(dataSourceMap) {
    dataSource = (DataSource) dataSourceMap.get(JNDI_NAME);
    if(dataSource == null) {
    Context context = new InitialContext();
    if (context == null) {
    System.out.println("Context is null");
    }
    dataSource = (DataSource) context.lookup(JNDI_NAME);
    dataSourceMap.put(JNDI_NAME, dataSource);
    }
    }
    }
    return dataSource.getConnection();
            } catch (Exception e) {
                e.printStackTrace();
            }
            return null;
        }
        
    }
      

  2.   

    个人觉得DAO  JDBC模版就比较好 写的 ...