请问下面的代码中,将DataSource为static类型,然后用if(ds==null){}来判断是否需要实例化InitialContext有问题吗?
public Connection conn = null;
public static DataSource ds =null;
@Override
public DataSource getDataSource() throws Exception {
InitialContext ctx;
try {
if(ds==null){
ctx = new InitialContext();
String strLookup = "java:comp/env/jdbc/rbac";
ds =(DataSource) ctx.lookup(strLookup);
}
} catch (Exception e) {
throw e;
}
return ds;
}
DataSource在系统中应该是单例的,最好是按照标准单例模式来写