我正在编写一个WLST脚本来部署一些WAR和EAR。但是,脚本会间歇性地超时,因为它似乎无法获得编辑锁(此脚本是许多其他脚本链中的一部分)。我想知道,有没有一种方法可以覆盖或停止服务器上的任何当前锁?这只是一个暂时的解决方案,但从时间的角度来看,现在就可以了。
谢谢。
发布于 2011-04-09 07:46:35
您可以尝试设置等待时间和超时:
startEdit([waitTimeInMillis], [timeoutInMillis], [exclusive]). 是否有其他脚本出错,使会话处于锁定状态?您可以尝试围绕这些添加异常处理。此外,如果您在管理控制台中启用了“自动获取锁定”,并且您使用管理控制台,那么有时如果您同时运行脚本,即使您没有进行“需要锁定”的更改,也会导致问题。
另外,您是否对链接的脚本使用相同的用户?
发布于 2011-04-10 15:15:28
在WLST中,您可以将数字作为参数传递以获得独占锁。这允许脚本获取与管理员从控制台锁定时使用的常规锁不同的锁。它还可以防止同一脚本的两个实例相互冲突。
然而,这会创建最好避免(由流程)的复杂的变更合并场景。
有关配置锁的Oracle文档可以在here中找到。
或者,如果您希望脚本临时释放任何现有的锁,而不管挂起的更改如何,您也可以从控制台禁用更改管理,从而最大限度地减少造成的不便。
WLST还包含您可以在startEdit之前运行的cancelEdit命令。希望这些选项中的一个能成功!
发布于 2014-10-16 14:12:50
从另一个管理员那里获取配置更改锁:如果另一个管理员已经拥有该配置锁,则会出现以下消息:另一个用户已拥有该锁。您需要等待锁被释放,或者获取锁。
https://stackoverflow.com/questions/5601825
复制相似问题