1. 程式人生 > >weblogic啟動之後經常自己掛掉的情況總結

weblogic啟動之後經常自己掛掉的情況總結

bee 情況 src version rtu ati 關閉 方案 jdk

因為天天都和weblogic打交道,碰到不少坑,今天突然覺得應該把遇到的坑總結一下,有備無患0.0

1.weblogic與jdk的問題(2018-04-26更新)

今天剛到公司現場人員就告訴我網站又掛了(他媽了個巴子的)....於是查看日誌,發現網站掛掉之前打印如下日誌:

<2018-4-26 上午08時43分54秒 CST> <Notice> <WebLogicServer> <BEA-000388> <JVM called the WebLogic Server shutdown hook. The server will force shutdown now.>


<2018-4-26 上午08時43分54秒 CST> <Notice> <WebLogicServer> <BEA-000396> <Server shutdown has been requested by <WLS Kernel>.>
<2018-4-26 上午08時43分54秒 CST> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to FORCE_SUSPENDING.>
<2018-4-26 上午08時43分54秒 CST> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to ADMIN.>

<2018-4-26 上午08時43分54秒 CST> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to FORCE_SHUTTING_DOWN.>
<2018-4-26 上午08時43分54秒 CST> <Notice> <Server> <BEA-002607> <Channel "DefaultSecure[1]", listening on 10.46.5.6:7002, was shut down.>
<2018-4-26 上午08時43分54秒 CST> <Notice> <Server> <BEA-002607> <Channel "DefaultSecure", listening on 127.0.0.1:7002, was shut down.>

<2018-4-26 上午08時43分54秒 CST> <Notice> <Server> <BEA-002607> <Channel "Default[1]", listening on 10.46.5.6:7001, was shut down.>
<2018-4-26 上午08時43分54秒 CST> <Notice> <Server> <BEA-002607> <Channel "DefaultSecure[2]", listening on fe80:0:0:0:eda:41ff:fe1d:46ed:7002, was shut down.>
<2018-4-26 上午08時43分54秒 CST> <Notice> <Server> <BEA-002607> <Channel "DefaultSecure[3]", listening on 0:0:0:0:0:0:0:1:7002, was shut down.>
<2018-4-26 上午08時43分54秒 CST> <Notice> <Server> <BEA-002607> <Channel "Default[3]", listening on 0:0:0:0:0:0:0:1:7001, was shut down.>
<2018-4-26 上午08時43分54秒 CST> <Notice> <Server> <BEA-002607> <Channel "Default", listening on 127.0.0.1:7001, was shut down.>
<2018-4-26 上午08時43分54秒 CST> <Notice> <Server> <BEA-002607> <Channel "Default[2]", listening on fe80:0:0:0:eda:41ff:fe1d:46ed:7001, was shut down.>
INFO [[ACTIVE] ExecuteThread: ‘0‘ for queue: ‘weblogic.kernel.Default (self-tuning)‘] org.springframework.context.support.AbstractApplicationContext.doClose(862) | Closing WebApplicationContext for namespace ‘springmvc-servlet‘: startup date [Wed Apr 25 11:56:20 CST 2018]; parent: Root WebApplicationContext
INFO [[ACTIVE] ExecuteThread: ‘0‘ for queue: ‘weblogic.kernel.Default (self-tuning)‘] org.springframework.context.support.AbstractApplicationContext.doClose(862) | Closing Root WebApplicationContext: startup date [Wed Apr 25 11:55:58 CST 2018]; root of context hierarchy

重點看前幾行就好了,到網上一查發現應該是weblogic本身的問題,引用某文章的話:“當你的weblogic使用sun jvm時出現shutdown現象,是系統的一個不必要的操作,導致要關閉這個進程“。

而我的weblogic剛好使用的是sun jvm。

確認你的weblogic使用的jdk是sun jdk還是JRockit jdk,然後需要在JAVA_OPTIONS加入以下參數

    A sun jdk-加: -Djava.awt.headless=true -Xrs( -Djava.awt.headless=true可以不用)

B JRockit jdk-加: -Xnohup

所以找到 setdomainenv.sh,在文件的最後找到 JAVA_OPTIONS="${JAVA_OPTIONS}"改成JAVA_OPTIONS="${JAVA_OPTIONS} -Djava.awt.headless=true -Xrs"或JAVA_OPTIONS="${JAVA_OPTIONS} -Xnohup "即可。

  關於修改JAVA_OPTIONS其實在很多相啟動時的配置文件都可以修改,以上是linux環境weblogic修改方案。

關於如何確認jdk是sun還是JRockit,只需要執行java -version命令查看,如果顯示類似如下則是sun jdk:

技術分享圖片

weblogic啟動之後經常自己掛掉的情況總結