Weblogic 如何覆盖编辑锁
我正在写一个WLST脚本来部署一些WAR和EAR。但是,脚本会间歇性超时,因为它似乎无法获得编辑锁(此脚本是许多其他脚本链的一部分)。我想知道,有没有办法覆盖或停止服务器上的任何当前锁?这只是一个暂时的解决办法,但为了时间的利益,现在就可以了Weblogic 如何覆盖编辑锁,weblogic,wlst,Weblogic,Wlst,我正在写一个WLST脚本来部署一些WAR和EAR。但是,脚本会间歇性超时,因为它似乎无法获得编辑锁(此脚本是许多其他脚本链的一部分)。我想知道,有没有办法覆盖或停止服务器上的任何当前锁?这只是一个暂时的解决办法,但为了时间的利益,现在就可以了 谢谢。您可以尝试设置等待时间和超时: startEdit([waitTimeInMillis], [timeoutInMillis], [exclusive]). 其他脚本是否出错,导致会话锁定?您可以尝试在这些方面添加异常处理。此外,如果您在管理控
谢谢。您可以尝试设置等待时间和超时:
startEdit([waitTimeInMillis], [timeoutInMillis], [exclusive]).
其他脚本是否出错,导致会话锁定?您可以尝试在这些方面添加异常处理。此外,如果您在管理控制台中启用了“自动获取锁”,并且您使用管理控制台,那么如果您同时运行脚本,即使您没有进行“需要锁”的更改,有时也会导致问题
此外,您是否对链接脚本使用同一用户?在WLST中,您可以将一个数字作为参数传递以获得独占锁。这允许该脚本获取与管理员从控制台锁定时使用的常规锁不同的锁。它还可以防止同一脚本的两个实例在每个o上执行ther 但是,这会创建复杂的更改合并场景,最好(通过流程)避免这些场景 可以找到Oracle关于配置锁的文档 或者,如果您希望脚本临时解除任何现有锁,而不考虑挂起的更改,那么您也可以从控制台禁用更改管理,从而最大限度地减少由此带来的不便
WLST还包含
cancelEdit
命令,您可以在startEdit
之前运行该命令。希望这些选项之一能够成功!只要您作为管理用户运行WLST,就应该能够使用edit()跳转到现有的编辑会话命令-我已经对两个管理员用户做了一个快速测试,一个在管理控制台,一个使用WLST,它似乎工作正常-我可以在WLST解释器中看到管理控制台会话中的更改
您可以在对startEdit
的调用周围放置一个非常简单的异常处理程序,该处理程序将记录异常的堆栈跟踪,但不执行其他操作。然后依靠edit
调用将您弹出到更改会话中
但是,如果另一个脚本启动了编辑会话,并且希望能够提交该更改会话本身,那么依赖它将是一件棘手的事情——您将在多次调用中遇到异常和不可靠的行为。要从另一个管理员处获取配置更改锁,请执行以下操作: 如果其他管理员已拥有配置锁,则会显示以下消息:另一个用户已拥有该锁。您需要等待释放该锁,或者获取该锁
其他脚本都没有出错。肯定需要更多的异常处理,但我必须在截止日期前完成。我将不得不调查是否让管理控制台保持打开状态,我没有意识到它可能会自动锁定。这很可能是问题所在。所有脚本都是同一用户。谢谢谢谢你的帮助!