falconandcatkin 2010-08-17 23:10
浏览 246
已采纳

Eclipse RCP的IApplication.EXIT_RESTART

最近帮人在写一个小型的局域网的C/S的系统。由于系统需要登录,所以我想在登录前先连接数据库,判断数据库是否连接正常。
我的数据库连接类是一个单例的DBconn类。DBconn类通过一个单例Env类获得properties类型文件的数据。我在Application类中获得DBconn的实例后,判断连接是否为空。如果为空,就修改properties类型的配置文件。
文件可以正常修改,但是由于是DBconn由于是单例,所以无法修改。
于是就想通过让系统重启一遍,让类重新加载。所以就在Application类中使用Application.EXIT_RESTART进行重启。
但是结果还是一样的。文件可以修改,但是DBConn从Env类获得的数据还是旧的数据,没有发生变化。

有什么办法可以让类重新加载吗?以便于重新获得文件中的配置信息?

  • 写回答

2条回答 默认 最新

  • 「已注销」 2010-08-18 10:44
    关注

    那你这样。你定义一个final类型的Map存放所有的单例。这就是工厂方法模式的几个单例的情况,都可以用。不过你这里就一个单例,限制好。

    这样你在你的生成DBConn的类里判断先得到的是不是空,不是空就放到Map里,可以使用了,如果空的话就修改properties文件,重新获取DBConn,放到Map里。

    关键:你的DBConn不能是final的,只要保证Map是final的就ok了

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

报告相同问题?

悬赏问题

  • ¥15 PADS Logic 原理图
  • ¥15 PADS Logic 图标
  • ¥15 电脑和power bi环境都是英文如何将日期层次结构转换成英文
  • ¥20 气象站点数据求取中~
  • ¥15 如何获取APP内弹出的网址链接
  • ¥15 wifi 图标不见了 不知道怎么办 上不了网 变成小地球了
  • ¥50 STM32单片机传感器读取错误
  • ¥15 (关键词-阻抗匹配,HFSS,RFID标签天线)
  • ¥15 机器人轨迹规划相关问题
  • ¥15 word样式右侧翻页键消失