プライマリ・コンテンツに移動
Oracle® Fusion Middleware WebLogic Server Multitenantの使用
12c (12.2.1.3.0)
E90313-02
目次へ移動
目次

前
次

23 名前が付いた同時編集セッションの管理

以前のリリースでは、WebLogic Serverの構成編集セッションでは、一度に1つのアクティブな編集セッションのみがサポートされました。システム管理者は、グローバルな編集をロックし、変更を加えた後、それをアクティブ化していました。同時に他の管理者が変更を加えることはできませんでした。このリリースでは、複数の管理者が構成を変更する必要がある状況が発生します。WebLogic Server MTドメインには複数のパーティションがあり、それぞれに独自の管理者がいます。パーティション管理者は、他のパーティション管理者またはWebLogic Serverシステム管理者に影響を与えることなく、パーティションにデプロイされたパーティション構成およびリソースの構成を変更できる必要があります。このため、WebLogic Serverでは、パーティションごとに1つ以上の構成編集セッション、およびグローバル構成編集セッションをサポートする、複数の同時編集セッションが可能になっています。

この章の内容は次のとおりです。

名前が付いた同時編集セッション: 概要

この機能を使用して、管理者は名前が付いた編集セッションを作成し、変更を加え、その変更をアクティブ化します。また、別の管理者も並行して名前が付いた編集セッションを作成します。1人目の管理者の編集セッションと2人目の管理者が行った変更が競合する場合は、これらの変更がアクティブ化されたときに2人目の管理者にエラーが返されます。2人目の管理者はこの競合を解決して必要な変更をアクティブ化できます。

詳細は、「名前が付いた同時編集セッションの管理: 主な手順」を参照してください。

名前が付いた同時編集セッションの管理: 主な手順

名前が付いた同時編集セッションを管理するには、次の主な手順を実行します。

  1. 管理者は名前が付いた編集セッションを作成(および破棄)します。

    ConfigurationManagerMBean APIを使用して、編集セッションの開始、変更のアクティブ化、変更の表示、変更の取消しなどを行います。

    各編集セッションには、独自の構成ファイルとConfigurationManagerMBeanインスタンスがあります。

  2. 変更された構成ファイルは、編集セッション固有のディレクトリに保持されます。
    • グローバルな名前が付いた編集セッションの変更は、ドメイン・レベルの新規編集ディレクトリのサブディレクトリに保持されます(<domain-directory>/edit/<edit-session-name>)。<edit-session-name>は、編集セッションの作成時に指定された編集セッション名のバージョンです。

    • パーティション固有の名前が付いた編集セッションの変更は、パーティション・ディレクトリのサブディレクトリに保持されます(<partition-directory>/edit/<edit-session-name>)。<edit-session-name>は、編集セッションの作成時に指定された編集セッション名のバージョンです。

  3. 変更がアクティブ化されたときに、並行する編集セッション間で競合が発生する可能性があります。アクティブ化中に競合が発生した場合は、アクティブ化操作はエラーとなり、手動で競合を解決する必要があります。

    現在の編集セッションに、同時に適用された任意の構成変更を適用するには、resolveメソッドを使用します。

    resolveメソッドを呼び出すと、編集セッションにおける保留中の変更のアクティブ化を続行できます。

    競合を解決するために、管理者は次の情報メッセージを使用できます。

    • 各競合には、競合しているMBeanまたはプロパティの識別情報を含む説明が含まれます。

    • 各競合には、この競合の解決方法を説明するメッセージも含まれます。

    • 解決ログ・メッセージには、解決およびマージの各手順の簡単な説明が含まれます。管理者は解決ログ・メッセージを使用して、現在の編集セッションで何が変更されたか、およびどのように変更されたかを識別できます。

名前が付いた同時編集セッションの管理: WLSTの例

WLSTを使用して構成編集セッションを管理します。

次のWLSTスクリプトの例を参照してください。

connect("username", "password")
 
# Enter existing named edit session or create one and enter it.
edit("foo")
startEdit()
cmo.createServer("Server-1")
 
# Create a different edit session.
edit("bar")
startEdit()
ls("Servers") #Server-1 is not printed because it is created in an independent edit session foo
s1=cmo.createServer("Server-1") 
s1.setListenPort(5555) # Conflicting modification - the same server with a different port
 
# Go back to edit session foo and activate.
edit("foo")
activate()
 
# List edit sessions / list with details.
showEditSession() # Lists all edit sessions
showEditSession("bar") # More detailed information about edit session bar
 
# Go back to edit session bar and activate.
edit("bar")
activate() # Conflict occurs
 
# Resolve conflicts based on a standard resolution strategy.
resolve()
activate()
 
# Edit sessions can also be destroyed.
destroyEditSession("foo")
destroyEditSession("bar")

次の例に、編集セッションの競合解決の詳細を示します。

wls:/wls/edit(foo)/> showEditSession() # Lists all edit sessions
List of named edit sessions [for details use showEditSession(<name>)]:
 default
 bar
 foo
wls:/wls/edit(foo)/> showEditSession("bar") # More detailed information about edit session bar
bar
 Creator: wls
 Editor (lock owner): wls
 Resolve recommended: Yes
 Contains unactivated changes: Yes
 
wls:/wls/edit(foo)/> # Go back to edit session bar and activate.
wls:/wls/edit(foo)/> edit("bar")
You already have an edit session in progress and hence WLST will
continue with your edit session.
Other configuration changes were activated. Call resolve() to merge it into this edit tree.
wls:/wls/edit(bar)/ !> activate() # Conflict occurs.
Activating all your changes, this may take a while ...
The edit lock associated with this edit session is released after the activation is completed.
Traceback (innermost last):
  File "<console>", line 1, in ?
  File "<iostream>", line 471, in activate
  File "<iostream>", line 553, in raiseWLSTException
WLSTException: Error occurred while performing activate : Error while Activating changes. : 1 conflict:
[1]
 [wls]/Servers[Server-1] - a bean with the same qualified name has already been added to [wls].
Description of resolution operation:
 A bean added by this session overrides the one present in the current configuration.
 
wls:/wls/edit(bar)/> # Resolve conflicts based on a standard resolution strategy.
wls:/wls/edit(bar)/> resolve()
1 conflict:
[1]
 [wls]/Servers[Server-1] - a bean with the same qualified name has already been added to [wls].
Description of the resolution:
 A bean added by this session overrides the one present in the current configuration.
Patch:
No difference
wls:/wls/edit(bar)/ !> activate()
Activating all your changes, this may take a while ...
The edit lock associated with this edit session is released after the activation is completed.
Activation completed
 
wls:/wls/edit(bar)/> # Edit sessions can also be deleted.
wls:/wls/edit(bar)/> destroyEditSession("foo")
 
wls:/wls/edit(bar)/> destroyEditSession("bar")
Current edit tree is being removed; redirecting WLST cursor location to the config runtime tree.

名前が付いた同時編集セッションの管理: 関連タスクおよびリンク