【问题标题】:How do I have weblogic reload cached JSPs on restart如何让 weblogic 在重新启动时重新加载缓存的 JSP
【发布时间】:2012-09-10 19:19:14
【问题描述】:

我们为 weblogic (11g) 部署新版本应用程序的方法是复制现有的 ear 文件,然后停止并重新启动 weblogic 服务器。由于已知的 permgen 问题(最终我们将用完 perm gen 并不得不退回 weblogic 服务器),我们执行 weblogic 的启动/停止而不是重新部署。

但是,这种部署方法有一个缺点——weblogic 看不到新的 JSP 版本。为了解决这个问题,我们必须在重新启动服务器之前清除 tmp 目录的内容,该目录维护已编译 JSP 的缓存。是否有一个设置可以告诉 weblogic 在启动备份时擦除缓存/重新加载/重新编译 JSP?

【问题讨论】:

    标签: weblogic weblogic11g


    【解决方案1】:

    更改 JSP 刷新计时器

    一个标准的解决方案是告诉 Weblogic 通过在 web.xmlweblogic.xml 中设置值来更频繁地检查 JSP 新鲜度。

    在生产模式下,Weblogic 不会检查新的 JSP 版本(默认值:-1),而在开发模式下每秒都会检查一次(默认值:1 )。

    修改web.xmlweblogic.xml 之间的选择取决于您所针对的应用程序服务器,是否仅是WebLogic。

    如果您更喜欢修改web.xml,则为上下文参数weblogic.jsp.pageCheckSeconds 设置一个值,如下所示:

    <context-param>
      <param-name>weblogic.jsp.pageCheckSeconds</param-name>
      <param-value>0</param-value>
    </context-param>
    

    如果您更喜欢修改weblogic.xml,请在jsp-descriptor 部分中为参数page-check-seconds 设置一个值。以下是文档的相关摘录:

    设置 WebLogic Server 检查 JSP 文件是否已更改并需要重新编译的时间间隔(以秒为单位)。如果更改,还会检查依赖项并递归重新加载。 值 -1 表示从不检查页面。这是生产环境中的默认值。 值 0 表示始终检查页面。 值 1 表示每秒检查一次页面。这是开发环境中的默认值。 在很少更改 JSP 的生产环境中,请考虑根据您的调整要求将 pageCheckSeconds 的值更改为 60 或更大。

    来源:http://docs.oracle.com/cd/E21764_01/web.1111/e13712/weblogic_xml.htm#i1038490

    强制重新部署

    重新启动 Weblogic 服务器不会强制它重新部署 Web 应用程序(尤其是在生产模式下)。

    解决方案 使用如下命令行显式触发“重新部署”生命周期操作:

    java -cp weblogic.jar weblogic.Deployer -redeploy [-remote -adminurl t3://hostname:hostport] -username login -password password -name webapp.name [-upload -source webapp.war]
    
    • 请注意,-redeploy-update 安全得多,尤其是。使用 Weblogic

    • 仅当服务器不是本地服务器时,才在 [ ] 之间保留第一个块。在这种情况下删除 [ ]。

    • 如果您想在同一步骤中合并 WAR 文件 上传,请在 [ ] 之间保留第二个块,这样更简单。在这种情况下删除 [ ]。

    【讨论】:

    • 我也有同样的问题。直接修改已部署的 JSP 文件时,page-check-seconds 工作正常。但是,在@BestPractices 描述的场景中,服务器关闭然后部署文件,weblogic 似乎没有注意到所有/部分文件已更改,而是使用生成的类。
    【解决方案2】:

    为避免这种情况,您应该首先更新您的模块,然后重新启动服务器。这应该可以解决您的问题。

    尽管提到的过程总是给出 100% 的正确性。但您可以尝试上述步骤。

    【讨论】:

      猜你喜欢
      • 2020-10-07
      • 2014-11-15
      • 2019-11-20
      • 1970-01-01
      • 1970-01-01
      • 2017-04-12
      • 2017-07-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多