我们部署应用的为WebLogic(11克)的新版本的方法是复制在现有的EAR文件的顶部,然后停止和重新启动的WebLogic Server。 我们这样做,因为已知的PermGen问题(这里我们最终将耗尽烫发根,并有反弹在WebLogic Server)的启动/停止weblogic的,而不是重新部署。
但是,在部署的这种方法有一个drawback--新的JSP版本不会受WebLogic看到。 为了解决这个问题,我们不得不消灭tmp目录的在此之前重新启动服务器保持编译的JSP的缓存内容。 是否有一个设置,会告诉weblogic的擦拭缓存/重载/编译JSP页面时,它开始回升?
更改JSP刷新计时器
标准的解决方法是告诉WebLogic中通过设置或者在你的价值更频繁地检查JSP新鲜web.xml
或在您weblogic.xml
。
在生产模式下,WebLogic将不会检查新版本的JSP( 默认值:-1),而它在开发模式下,每个秒( 默认值:1)。
修改之间的选择web.xml
或weblogic.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-seconds
在jsp-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文件上传在相同的步骤,这是简单的方式结合起来。 在这种情况下删除[]。
为了避免这种情况,你应该首先更新您的模块,然后重新启动server..this应该解决您的问题。
虽然提到的过程总是付出100点%的正确。 但你可以尝试上述步骤。