この章では、WebLogic Server Multitenant (MT)で名前が付いた同時編集セッションを管理する方法について説明します。この章の説明に従い、Fusion Middleware Control (FMWC)、WLS管理コンソールまたはWLSTを使用して、編集セッションを管理できます。この章では、適宜追加情報について、Fusion MiddlewareとWebLogic Serverのドキュメント・セットおよびオンライン・ヘルプを参照します。
この章の内容は次のとおりです。
以前のリリースでは、WebLogic Serverの構成編集セッションでは、一度に1つのアクティブな編集セッションのみがサポートされました。システム管理者は、グローバルな編集をロックし、変更を加えた後、それをアクティブ化していました。同時に他の管理者が変更を加えることはできませんでした。このリリースでは、複数の管理者が構成を変更する必要がある状況が発生します。マルチテナントWLSドメインには複数のパーティションがあり、それぞれに独自の管理者がいます。パーティション管理者は、他のパーティション管理者またはWLSシステム管理者に影響を与えることなく、パーティションにデプロイされたパーティション構成およびリソースの構成を変更できる必要があります。このため、WLSでは、パーティションごとに1つ以上の構成編集セッション、およびグローバル構成編集セッションをサポートする、複数の同時編集セッションが可能になっています。
この機能を使用して、管理者は名前が付いた編集セッションを作成し、変更を加え、その変更をアクティブ化します。また、別の管理者も並行して名前が付いた編集セッションを作成します。1人目の管理者の編集セッションと2人目の管理者が行った変更が競合する場合は、これらの変更がアクティブ化されたときに2人目の管理者にエラーが返されます。2人目の管理者はこの競合を解決してこれらの変更をアクティブ化できます。「名前が付いた同時編集セッションの管理: 主な手順」を参照してください。
名前が付いた同時編集セッションを管理する主な手順は次のとおりです。
管理者は名前が付いた編集セッションを作成(および破棄)します。
ConfigurationManagerMBean
APIを使用して、編集セッションの開始、変更のアクティブ化、変更の表示、変更の取消しなどを行います。
各編集セッションには、独自の構成ファイルとConfigurationManagerMBean
インスタンスがあります。
変更された構成ファイルは、編集セッション固有のディレクトリに保持されます。
グローバルな名前が付いた編集セッションの変更は、ドメイン・レベルの新規編集ディレクトリのサブディレクトリに保持されます(<
domain-directory
>/edit/<
edit-session-name
>
)。edit-session-nameは、create-edit-session時に指定された編集セッション名のバージョンです。
パーティション固有の名前が付いた編集セッションの変更は、パーティション・ディレクトリのサブディレクトリに保持されます(<
partition-directory
>/edit/<
edit-session-name
>
)。edit-session-nameは、create-edit-session時に指定された編集セッション名のバージョンです。
変更がアクティブ化されたときに、並行する編集セッション間で競合が発生する可能性があります。アクティブ化中に競合が発生した場合は、アクティブ化操作はエラーとなり、手動で競合を解決する必要があります。
現在の編集セッションに、同時に適用された任意の構成変更を適用するには、resolve
メソッドを使用します。
resolve
メソッドを呼び出すと、編集セッションにおける保留中の変更のアクティブ化を続行できます。
競合を解決するために、管理者は次の情報メッセージを使用できます。
各競合には、競合しているMBeanまたはプロパティ、あるいはその両方の識別情報を含む説明が含まれます。
各競合には、この競合の解決操作を説明するメッセージも含まれます。
解決ログ・メッセージには、解決およびマージの各手順の簡単な説明が含まれます。管理者は解決ログ・メッセージを使用して、現在の編集セッションで何が変更されたか、およびどのように変更されたかを識別できます。
次に、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 # 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 # Back to edit session bar and activate edit("bar") activate() # Conflict occurs # Resolve conflicts based on standard resolve 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)/> # 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 once 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 resolve operation: A bean added by this session will override the one present in the current configuration. wls:/wls/edit(bar)/> # Resolve conflicts based on standard resolve 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 resolve operation: A bean added by this session will override 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 once the activation is completed. Activation completed wls:/wls/edit(bar)/> # Edit sessions can also be destroyed 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.
詳細は、次を参照してください:
『Fusion Middleware ControlによるOracle WebLogic Serverの管理』の編集セッションの管理に関する項および競合の表示と解決に関する項。
『Oracle WebLogic Server Administration Consoleオンラインヘルプ』の保留中の変更の表示に関する項および競合の解決に関する項。