我们有一个weblogic
服务器10.0
实例,其中cluster
只有一个managed server
。每个星期一凌晨5点(或几秒钟后),它会自行关闭。除以下消息外,日志不会显示任何错误:
JVM called WLS shutdown hook. The server will force shutdown now.
JVM有一个-Xnohup
选项并使用JRockit
。服务器上没有cron作业。我不知道如何调试这个。管理服务器保持运行没有问题,我可以启动托管服务器备份没有问题。非常感谢任何帮助。
更新
我尝试使用-Djrockit.waitonerror
,但JVM不会暂停。我还在日志之前或几分钟之前在日志中看到以下“恐慌”消息。 CharScanner; panic: ClassNotFoundException: org.antlr.stringtemplate.language.ChunkToken
。在某种诊断运行期间看起来像这样:
<Diagnostics> <BEA-320140> <Scheduling data retirement tasks as per configuration.>
感谢。
答案 0 :(得分:2)
由于您使用的是-Xnohup
选项,因此JVM很可能无法接收操作系统信号。仍有一些事情正在触发关闭(事实上,它会以非常规的间隔发生,这意味着自动化过程。)
尝试应用此blog post的第二个建议(我认为这实际上来自支持):
如果问题再次出现 在尝试上述选项之后就可以了 请申请以下内容
JAVA_OPTION
:
根据JVM版本,可能会获得线程转储 在流程退出之前
HotSpot支持命令行选项
-XX:+ShowMessageBoxOnError
相应的JRockit选项为
-Djrockit.waitonerror
当JVM关闭时,它可能会提示用户:“你想调试吗? 问题?“
这会暂停JVM,从而创建生成a的机会 线程转储(每个堆栈的跟踪) JVM中的线程),附加一个调试器, 或执行一些其他调试 活性。
要生成线程转储,我认为您必须删除-Xnohup
选项(这不应该是一个问题,因为它没有帮助)。这真的有助于分析。
同样打开一个案例,支持可能会有更多的输入(你不是唯一面临这个问题的人,请看下面提到的线程)。
为了以防万一,请查看WebLogic Server shutting down Automatically(任何看门狗进程OOMKiller正在运行?)和JVM called WLS shutdown hook. The server will force shutdown now。
答案 1 :(得分:2)
与weblogic的antlr版本冲突,以及部署的应用程序中使用的版本(war)。在ear文件中包含war,并在META-INF中放入weblogic-application.xml文件,其中包含以下内容:
<weblogic-application xmlns="http://www.bea.com/ns/weblogic/90" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<prefer-application-packages>
<package-name>antlr.*</package-name>
</prefer-application-packages>