【问题标题】:Changing xml/property files after war deployment without restarting Tomcat 7在战争部署后更改 xml/property 文件而不重新启动 Tomcat 7
【发布时间】:2012-11-30 17:41:22
【问题描述】:

在我的网络应用程序(maven、spring)中,我有以下项目结构:

MyWebApp
--src
  --main
    --java
      ...
    --resources
      --spring
        spring_stuff.xml
        ...
      mywebapp.properties
      mylogs.xml
    --webapp
      --spring
        --appServlet
          servlet-context.xml
      ...
pom.xml

我使用Manager AppWAR 文件部署到Tomcat 服务器,战争被解压并且上面的文件在webapp 文件夹中可用。但是,如果我不允许修改这些文件,因为它们已被 Web 服务器“使用”。为了能够在 Tomcat 运行时修改属性文件而无需重新启动它,我可以做些什么不同的事情?

有没有办法(可能在 maven/spring 中)设置项目,以便根据 WAR 的部署位置启用/禁用不同的属性?

【问题讨论】:

    标签: java spring maven tomcat7 web-deployment


    【解决方案1】:

    我使用一个名为Jrebel的程序

    它检查代码更改,并在编译时自动部署战争,而无需重新启动 tomcat。

    【讨论】:

    • 谢谢,但是假设我只需要更改数据库 IP,因为我们将其移动到其他地方,或者我必须开始在其他地方保存日志,我为什么要为此更改我的代码?我正在寻找一种能够修改我的 xml/property(这就是我首先拥有这些文件的原因)文件的方法,而无需触及我的代码!
    【解决方案2】:

    看起来像一个老问题,但这个问题中的问题陈述是使用 JMX 的完美案例,它是一个基于 Web 的控制台,可以在不重新启动服务器的情况下更新消息 bean。也有 JConsole,但它不是基于 Web 的。

    【讨论】:

      猜你喜欢
      • 2012-11-27
      • 2016-01-10
      • 1970-01-01
      • 2018-04-08
      • 2020-09-24
      • 1970-01-01
      • 2016-07-23
      • 1970-01-01
      • 2019-05-02
      相关资源
      最近更新 更多