【问题标题】:What is a better way to change variable in runtime server?在运行时服务器中更改变量的更好方法是什么?
【发布时间】:2018-05-07 04:02:48
【问题描述】:

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

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

【问题讨论】:

  • 服务器重启后更改的值会发生什么?
  • 如果您的项目不是 Web 容器,您如何使用 JSP?
  • 只是对没有JSP的情况的思考

标签: java server code-maintainability


【解决方案1】:

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

  • 在更改配置后,服务器已重新启动/由于某些系统原因刚刚关闭,会发生什么情况?
  • 如果您有多个相同服务器的实例需要处理(即服务器集群),会发生什么情况?

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

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

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-06-24
      • 2012-09-09
      • 1970-01-01
      • 2013-07-10
      • 1970-01-01
      • 1970-01-01
      • 2014-05-03
      相关资源
      最近更新 更多