在运行时服务器中更改变量的更好方法是什么?



我们每周维护一次服务器。 有时,客户希望我们更改一些已经缓存在服务器中的设置。 我的同事总是写一些JSP代码来更改存储在内存中的这些设置。

使用这种方法是一种好方法吗? 如果我们的项目不是 Web 容器,哪些工具可以帮助我?

通常,根据我的经验,服务器配置不仅仅存储在服务器的内存中:

配置
  • 更改后,服务器由于某些系统原因重新启动/刚刚关闭会发生什么?
  • 如果要处理同一服务器的多个实例(换句话说,是服务器群集(,会发生什么情况?

因此,通常,人们会选择各种"外部化配置"选项,范围从"基于文件"的配置+在每次配置更改时重新部署整个集群,到配置管理服务器(如Consul等等(。还有一些来自(并在(Java世界中使用的解决方案:Apache Zookeeper,Spring cloud config server等等,还有其他解决方案。此外,有时将配置存储在数据库中很方便。

现在回到你的问题:如果你的项目不是一个 Web 容器,并且你不在乎配置在服务器重新启动后会"消失",并且你没有运行分布式服务器集群,那么在这种情况下使用 JSP 似乎确实不合适。

也许你应该看看JMX - Java管理扩展,它有一个内置的解决方案,这样你可能能够摆脱一个Web容器(除了你描述的JSP修改之外,你的团队似乎没有使用它(。

您基本上需要在内存缓存中找到,在答案中找到多种解决方案,包括创建自己的实现或使用现有的 java 库。您还可以从数据库中获取数据并在数据库层上添加缓存。

最新更新