AdminServer.lok被锁导致启动、关闭域失败

来源:互联网 发布:鹊桥淘宝客商家入口 编辑:程序博客网 时间:2024/06/14 05:36

AdminServer.lok被锁导致启动、关闭域失败

【AdminServer是你weblogic中域的服务名。像我的就是myserver,位置在D:\platform-domain\servers\myserver\tmp下×××.lok

我的项目出现AdminServer.lok被锁导致启动、关闭域失败的错误,在网上找到一篇博客解决了我的问题。

一、判断AdminServer.lok被其进程锁死

>weblogic.management.ManagementException: Unable to obtain lock on *******/AdminServer.lok. Server may already be running

  由于Weblogic的域以单例形式存在,因此当执行startWeblogic.cmd或stopWeblogic.sh时出现上述信息,则表示该域已被启动或其他进程锁定了AdminServer.lok文件导致无法启动该域。

此时若执行stopWeblogic.cmd或stopWeblogic.sh时报异常,则表示AdminServer.lok文件被其他进程锁死了。

二、解决办法 

办法只有一个,就是杀死锁定AdminServier.lok的进程。linux和windows下的操作有所不同,具体如下:

1. Linux下

  通过 fuser -u 文件名 找出占用文件的进程PID,然后杀死即可。

fuser -u *******/AdminServer.lok*******/AdminServer.lok 1800958kill 1800958

2. Window下

  暂时未找到类似Linux下的 fuser -u 文件名 这么好用的命令,于是只能笨笨地走下面的步骤了。

  2.1  netstat -aon | findstr 域端口号 ,通过域的端口号找进程PID,若找到则杀死进程即可,否则进行步骤2.2

  2.2. 由于一般都是java.exe占用AdminServer.lok,所以通过 wmic process where caption="java.exe" get handle 获取PID,并杀死即可。

【补充:可参考】


 三、出现该情况的原因                                  

 据我现阶段实践所知,导致上述问题的原因为。

 1. 使用其他程序没有先调用stopWeblogic.cmd,而是直接强制杀死已启动的域进程时,就会出现该情况

转载地址:http://www.cnblogs.com/fsjohnhuang/p/3972205.html  肥仔John

>weblogic.management.ManagementException: Unable to obtain lock on *******/AdminServer.lok. Server may already be running

  

阅读全文
0 0