姜维伯约 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 阿里云函数计算自定义层部署LibreOffice
  • ¥15 打开软件提示错误:failed to get wglChoosePixelFormatARB
  • ¥30 电脑误删了手机的照片怎么恢复?
  • ¥15 (标签-python|关键词-char)
  • ¥15 python+selenium,在新增时弹出了一个输入框
  • ¥15 苹果验机结果的api接口哪里有??单次调用1毛钱及以下。
  • ¥20 学生成绩管理系统设计
  • ¥15 来一个cc穿盾脚本开发者
  • ¥15 CST2023安装报错
  • ¥15 使用diffusionbert生成文字 结果是PAD和UNK怎么办