2011-04-08 84 views
1

我正在写一个WLST脚本来部署一些WAR的和EAR。但是,间歇性地,脚本会超时,因为它似乎无法获得编辑锁定(此脚本是许多其他脚本链的一部分)。我想知道,有没有办法覆盖或停止服务器上的任何当前锁?这只是一个临时解决方案,但为了时间的利益,它现在就可以做到。如何覆盖编辑锁

谢谢。

回答

2

你可以尝试设置一个等待周期和超时:

startEdit([waitTimeInMillis], [timeoutInMillis], [exclusive]). 

是否有其他脚本示数,留下的会话锁定?你可以尝试添加异常处理。此外,如果您在管理控制台中启用了“自动获取锁定”并且有时使用管理控制台,即使您没有进行“锁定要求”更改,但如果您同时运行脚本,也会导致问题。

此外,您使用的是同一个用户的链接脚本?

+0

其他脚本都没有发生错误。肯定需要更多的异常处理,但我必须在截止日期前处理我的工作。我将不得不调查一下关闭管理控制台,我没有意识到它可能会自动锁定。这可能是问题所在。所有脚本都是相同的用户。谢谢您的帮助! – noisesolo 2011-04-09 02:47:06

0

在WLST,您可以通过一些作为参数,以获得独占锁。这使得脚本抢到了不同的锁比普通的一个这些会用来每当从控制台管理员锁。它还可以防止同一脚本的两个实例踩着对方。

然而,这产生了复杂的变化合并scenari最好避免(通过进程)的操作系统。

甲骨文对配置锁文件可以发现here

或者,如果您希望临时脚本缓解任何现有的锁,无论是否有挂起的更改,也可以从控制台禁用更改管理,从而最大限度地减少造成的不便。

WLST还包含cancelEdit命令,你可以你startEdit之前运行。希望其中的一个选项可以泛出!

0

只要你运行WLST作为管理员用户,你应该能够跳进现有的编辑会话与编辑()命令 - 我做了一个快速的测试有两个管理员用户,一个在管理控制台以及使用WLST的管理控制台,并且它看起来工作正常 - 我可以在WLST解释器中查看管理控制台会话中的更改。

你可以把周围的通话很简单的异常处理程序startEdit将登录异常的堆栈跟踪,而是别的什么也不做。然后依靠edit调用让你进入更改会话。

依靠这将是棘手的,但如果另一个脚本已经开始编辑会话,并期望能够提交更改会话本身 - 你会在多个调用中获得异常和不可靠的行为。

0

要从另一位管理员处取得配置更改锁定: 如果另一位管理员已有配置锁定,则显示以下消息:另一个用户已拥有该锁定。您需要等待锁定被释放,或者需要锁定。

  1. 找到位于 管理控制台左上角的更改中心。
  2. 点击拿锁&编辑。
  3. 进行配置更改。
  4. 在更改中心中,单击激活更改。并非所有更改立即生效 。有些需要重新启动(请参阅使用更改 中心)。