首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将jar数据作为具有集群感知的库保存

问如何将jar数据作为具有集群感知的库保存
EN

Stack Overflow用户
提问于 2014-07-28 07:15:42
回答 1查看 134关注 0票数 0

我正在创建一个库(java文件)来提供一个问题的解决方案。库主要针对web应用程序(j2ee应用程序),可以与spring等框架一起使用。目标j2ee应用程序将部署在集群中,environment.User将通过在应用程序类路径中添加它来使用该库。

库具有某种配置的依赖关系,该配置被打包到库(jar)中,库将在运行时使用。在运行时,可以修改配置。

由于它是针对集群环境的,因此在对配置进行任何修改时,必须将更新的配置复制到集群环境的所有节点。

根据我的理解,有两种方法可以让配置在运行时使用(如果我错了,我不确定是否正确)。

1.将配置存储在文件中

2.在数据库中存储配置

在第一种方法中(将配置存储在文件中)会在库中保存一个属性文件来保存初始配置。在服务器启动时,属性文件中的配置将复制到服务器物理位置上的某个文件(abc.xml)。

将有一组API在abc.xml文件中从用户主页位置执行CRUD操作。每次使用abc.xml文件。

在这种方法中,保持数据是可能的,但是对于集群环境,我不知道它将如何在修改时更新集群的所有节点。

第二个应用程序中的(数据库表中的存储配置)

在发布工具包(jar文件)的同时,sql表查询也与jar一起发布。用户必须使用该查询创建表。

库中将有一个属性文件来保存初始配置。在服务器启动时,属性文件中的配置将复制到数据库中。

将有一组API对数据库执行CRUD操作。由于对配置进行了任何修改,集群的所有节点都可以使用第三方工具(Hazel或其他任何东西)更新最新数据。

在分析中,我发现Quartz使用数据库方法来保存其配置。因此,当一个下载石英发行版时,它还具有sql查询,以在数据库中创建所需的表,这些表将由石英it self使用。

我想知道以库(jar)形式保存配置的标准设计实践是什么,在这种情况下需要注意的因素是什么。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-28 09:08:05

还有其他解决办法。使用集群感知的缓存技术,如EhCache、Apache或哈泽尔卡斯特。使用缓存API从库中检索配置数据。您可以在库中添加一个侦听器,以轮询配置文件并更新缓存。

如果您计划使用您提到的解决方案1,您可以在库中设置一个侦听器,该监听器侦听配置文件,并在发生更改时更新服务器副本。同样,对于解决方案2,如果我也处于类似的情况,我宁愿对经常访问的数据(配置)使用缓存技术。它将给我带来的好处是,我不必更新所有节点中的配置,因为它可以自我复制。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24990187

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档