-->

如何对重新启动WebLogic重新加载缓存的JSP(How do I have weblogic r

2019-06-28 04:16发布

我们部署应用的为WebLogic(11克)的新版本的方法是复制在现有的EAR文件的顶部,然后停止和重新启动的WebLogic Server。 我们这样做,因为已知的PermGen问题(这里我们最终将耗尽烫发根,并有反弹在WebLogic Server)的启动/停止weblogic的,而不是重新部署。

但是,在部署的这种方法有一个drawback--新的JSP版本不会受WebLogic看到。 为了解决这个问题,我们不得不消灭tmp目录的在此之前重新启动服务器保持编译的JSP的缓存内容。 是否有一个设置,会告诉weblogic的擦拭缓存/重载/编译JSP页面时,它开始回升?

Answer 1:

更改JSP刷新计时器

标准的解决方法是告诉WebLogic中通过设置或者在你的价值更频繁地检查JSP新鲜web.xml或在您weblogic.xml

在生产模式下,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 ,然后设置参数的值page-check-secondsjsp-descriptor部分。 下面是从文档相关的摘录:

设置时间间隔,以秒为WebLogic Server检查,看是否JSP文件已更改和重新编译需要。 依赖也检查,如果改变了递归重新加载。 值-1表示永不检查页面。 这是在生产环境中的默认值。 值0表示总是检查页面。 值1只表示检查网页的每一秒。 这是在开发环境中的默认值。 在生产环境中的变化给JSP是罕见的,考虑改变pageCheckSeconds到60或更大的值,根据您的调整要求。

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

强制重新部署

重新启动WebLogic Server不强制重新部署(尤其是在生产模式)的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 ,ESP。 使用Weblogic <= 10.x的

  • 保持第一块[]之间,只有当服务器不在本地。 在这种情况下删除[]。

  • 保持第二块[]之间,如果你想将WAR文件上传在相同的步骤,这是简单的方式结合起来。 在这种情况下删除[]。



Answer 2:

为了避免这种情况,你应该首先更新您的模块,然后重新启动server..this应该解决您的问题。

虽然提到的过程总是付出100点%的正确。 但你可以尝试上述步骤。



文章来源: How do I have weblogic reload cached JSPs on restart