如何覆盖编辑锁

我正在编写一个WLST脚本来部署一些WAR和一个EAR。但是,间歇性地,脚本将超时,因为它似乎无法获得编辑锁(此脚本是许多其他脚本链的一部分)。我想知道,有没有办法覆盖或停止服务器上的任何当前锁定?这只是一个临时解决方案,但为了时间的利益,它现在会做。 谢谢。     
已邀请:
您可以尝试设置等待时间和超时:
startEdit([waitTimeInMillis], [timeoutInMillis], [exclusive]).  
是否有其他脚本错误,会话被锁定?您可以尝试在这些周围添加异常处理。此外,如果您在管理控制台中启用了“自动获取锁定”并且您有时使用管理控制台,则如果您同时运行脚本,即使您没有进行“需要锁定”更改,也会导致问题。 此外,您是否使用相同的用户链接脚本?     
在WLST中,您可以传递一个数字作为参数来获得独占锁定。这允许脚本获取与管理员从控制台锁定时使用的常规锁不同的锁。它还可以防止同一脚本的两个实例互相踩踏。 但是,这会创建最复杂的更改合并方案(最好通过进程)。 有关配置锁的Oracle文档可以在这里找到。 或者,如果您希望脚本暂时释放任何现有锁,而不管挂起的更改,您也可以从控制台禁用更改管理,从而最大限度地减少由此带来的不便。 WLST还包含before1ѭ命令,您可以在
startEdit
之前运行该命令。希望其中一个选项能够实现!     
只要您以管理用户身份运行WLST,您就应该能够使用edit()命令跳转到现有的编辑会话 - 我已经对两个管理员用户进行了快速测试,一个在管理控制台中,并且一个使用WLST,它似乎工作正常 - 我可以看到WLST解释器内的管理控制台会话中的更改。 您可以在调用
startEdit
时放置一个非常简单的异常处理程序,它将记录异常的堆栈跟踪,但不执行任何其他操作。然后依靠
edit
调用将您带入更改会话。 如果另一个脚本已经启动了编辑会话并且期望能够提交更改会话本身,那么依赖于它将会变得棘手 - 您将在多个调用中获得异常和不可靠的行为。     
要从另一个管理员获取配置更改锁: 如果另一个管理员已具有配置锁定,则会显示以下消息:另一个用户已拥有该锁定。您需要等待释放锁定,或者锁定。 找到位于左上角的更改中心 管理控制台。 点击Take Lock&编辑。 进行配置更改。 在“更改中心”中,单击“激活更改”。并非所有变化都需要 效果立刻。有些需要重启(请参阅使用更改 中央)。     

要回复问题请先登录注册