lieve200 2016-08-23 14:33 采纳率: 100%
浏览 973
已采纳

关于Java 连接池的问题

请问下面的代码中,将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;
    }
  • 写回答

1条回答 默认 最新

  • Bug开发攻城狮 2016-08-24 01:07
    关注

    DataSource在系统中应该是单例的,最好是按照标准单例模式来写

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥50 如何增强飞上天的树莓派的热点信号强度,以使得笔记本可以在地面实现远程桌面连接
  • ¥15 MCNP里如何定义多个源?
  • ¥20 双层网络上信息-疾病传播
  • ¥50 paddlepaddle pinn
  • ¥20 idea运行测试代码报错问题
  • ¥15 网络监控:网络故障告警通知
  • ¥15 django项目运行报编码错误
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services
  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏