Как переопределить блокировки редактирования - PullRequest
2 голосов
/ 09 апреля 2011

Я пишу сценарий WLST для развертывания некоторых WAR и EAR. Однако время от времени сценарий истекает, потому что он не может получить блокировку редактирования (этот сценарий является частью цепочки многих других сценариев). Мне было интересно, есть ли способ переопределить или остановить какие-либо текущие блокировки на сервере? Это только временное решение, но в интересах времени оно пока подойдет.

Спасибо.

Ответы [ 4 ]

2 голосов
/ 09 апреля 2011

Вы можете попробовать установить период ожидания и время ожидания:

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

Не работают ли другие скрипты, оставляя сеанс заблокированным? Вы можете попробовать добавить обработку исключений вокруг них. Кроме того, если в консоли администратора включена функция «Автоматически получать блокировку» и вы используете консоль администратора, иногда это может вызвать проблемы, если вы одновременно запускаете сценарии, даже если вы не вносите изменения, требующие блокировки. 1004 *

Кроме того, вы используете одного и того же пользователя для связанных скриптов?

0 голосов
/ 16 октября 2014

Чтобы заблокировать изменение конфигурации у другого администратора: Если другой администратор уже имеет блокировку конфигурации, появится следующее сообщение: Другой пользователь уже владеет блокировкой. Вам нужно будет либо дождаться снятия блокировки, либо взять ее.

  1. Найдите Центр изменений в верхнем левом углу Консоль администрирования.
  2. Нажмите Взять и заблокировать.
  3. Внесите изменения в конфигурацию.
  4. В Центре изменений нажмите Активировать изменения. Не все изменения берут эффект сразу. Некоторые требуют перезагрузки (см. Использование изменений Центр).
0 голосов
/ 11 апреля 2011

Пока вы используете WLST от имени пользователя-администратора, у вас должна быть возможность перейти в существующий сеанс редактирования с помощью команды edit () - я провел быстрый тест с двумя пользователями-администраторами, один из которых был администратором Консоль, и одна, использующая WLST, и, кажется, работает нормально - я вижу изменения в сеансе консоли администратора внутри интерпретатора WLST.

Вы можете поместить очень простой обработчик исключений вокруг ваших вызовов на startEdit, который будет регистрировать трассировку стека исключений, но больше ничего не делать. А затем положитесь на вызов edit, чтобы отправить вас в сеанс изменений.

Полагаться на это будет непросто, хотя, если другой сценарий запустил сеанс редактирования и ожидает, что сможет зафиксировать этот сеанс изменений сам - вы получите исключения и ненадежное поведение при множественных вызовах.

0 голосов
/ 10 апреля 2011

В WLST вы можете передать число в качестве параметра, чтобы получить эксклюзивную блокировку.Это позволяет сценарию захватывать блокировку, отличную от обычной, которая используется всякий раз, когда администратор блокирует консоль.Он также не позволяет двум экземплярам одного и того же сценария наступать друг на друга.

Однако это создает сложные сценарии слияния изменений, которых лучше избегать (процессами). здесь .

В качестве альтернативы, если вы хотите, чтобы скрипт временно снимал все существующие блокировки независимо от ожидающих изменений, вы также можете отключить управление изменениями изконсоль, сводя к минимуму причиненные неудобства.

WLST также содержит команду cancelEdit, которую можно выполнить перед вами startEdit.Надеюсь, что один из этих вариантов удастся!

...