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 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?
  • ¥15 乘性高斯噪声在深度学习网络中的应用
  • ¥15 运筹学排序问题中的在线排序
  • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛