姜维伯约 2011-09-05 10:07
浏览 485
已采纳

在后台用Java刷新网页的问题

是这样的,我在后台用Java获取了建立在Weblogic上的数据源,并用它来连接别的数据库取数。
但是这数据库连接有超时的控制。隔一段时间不动(Inactive),再刷新,就会报错说连接已关闭。只有重启Weblogic服务才能从新连接上数据库。

目前我自己的解决方法是:在前台JSP页面上弄个自动刷新的控制,每10分钟就刷新一次页面,这样可以保持数据库连接一直是活动状态。

但是问题又来了:必须是开着浏览器开着页面,这段刷新的代码才会被执行。如果我关闭浏览器了,就不能自动刷新了。

这样的悲剧体现在:需要一直在服务器上开着一个网页负责刷新页面;如果重启服务器了,不但要开Weblogic的服务,同时也要再开一个页面来刷新网页……

如果可以在后台用Java刷新网页或者数据库连接,那就最好了。

请问各位大侠有什么高明的解决方法么?

  • 写回答

7条回答

  • weixin_42565855 2011-09-05 11:31
    关注

    [quote]请问实现方法是怎样的?麻烦您提示一下啊![/quote]
    代码类似下面:
    [code="java"]
    class Task implements Runnable
    {
    @Override
    public void run()
    {
    //要执行的任务,即刷新数据库
    }
    }

    ScheduledExecutorService scheduledService = Executors.newScheduledThreadPool(1);
    //每隔5秒执行一次任务
    scheduledService.scheduleAtFixedRate(task, 0, 5, TimeUnit.SECONDS);
    [/code]

    不过我觉得你的问题不是要在后台开线程刷新连接,连接池都会
    自己维护连接的,你是不是从连接池获取了一个Connection后
    一直没有调用connection.close()方法释放连接到连接池中?

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(6条)

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器