我正在创建一个库(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)形式保存配置的标准设计实践是什么,在这种情况下需要注意的因素是什么。
https://stackoverflow.com/questions/24990187
复制相似问题