9 リソース・オーバーライドの構成

リソース・オーバーライドによって、管理者は、パーティション・レベルでリソースをカスタマイズできます。Oracle Enterprise Manager Fusion Middleware Control (FMWC)、Oracle WebLogic Server管理コンソールまたはWebLogic Scripting Tool (WLST)を使用して、リソース・オーバーライドを構成できます。

注意:

WebLogic Server Multitenantドメイン・パーティション、リソース・グループ、リソース・グループ・テンプレート、仮想ターゲットおよびリソース消費管理は、WebLogic Server 12.2.1.4.0で非推奨になり、次のリリースで削除されます。

次の内容では、リソース・オーバーライドについて、およびその構成方法について説明します。

リソース・オーバーライド: 概要

リソース・グループ・テンプレートを拡張するリソース・グループを含むパーティションを作成する場合は、そのリソース・グループ・テンプレートで定義されている特定のリソースの設定をオーバーライドできます。

注意:

リソース・オーバーライド構成MBeansは、WebLogic Server 12.2.1.4.0で非推奨になっており、次のリリースで削除されます。

リソース・グループ・テンプレートを拡張しないリソース・グループをパーティション内に作成し、このリソース・グループ内にリソースを作成する場合、オーバーライドは不要で、これらのリソースにパーティション固有の値を設定します。オーバーライドは、主にリソースに共通の定義が存在する場合に、リソース・グループ・テンプレートなどで使用されます。

リソース・グループ・テンプレートは、WebLogic Server Multitenant (MT)が同じアプリケーションとリソースを複数回(ドメイン・パーティションごとに1回ずつ)アクティブ化するSoftware-as-a-Service (SaaS)環境で特に役立ちます。そのようなリソースに関する情報は、すべてのドメイン・パーティション間で同じ情報もあれば、JMSキューやデータベース接続など、パーティションごとに異なる情報もあります。たとえば、異なるパーティション間でデータ・ソースに接続するために使用されるURL、ユーザー名およびパスワードをカスタマイズする必要があります。

管理者は、次の手法を使用して、パーティションのリソース定義をオーバーライドできます。

  • リソース・オーバーライド構成MBean: 既存のリソース構成MBeanの属性のサブセットを公開する構成MBean。オーバーライド構成MBeanのインスタンス上の属性セットは、対応するリソース構成MBeanインスタンス内のその属性の値を置き換えます。

  • リソース・デプロイメント・プラン: パーティション内のリソースを識別し、それらのリソースの属性設定をオーバーライドするXMLファイル。

  • パーティション固有のアプリケーション・デプロイメント・プラン: アプリケーション・デプロイメント・プランと同様に、管理者は、パーティション内のアプリケーション・デプロイメントごとに、パーティション固有のアプリケーション・デプロイメント・プランを指定できます。パーティション固有のアプリケーション・デプロイメント・プランの詳細は、「パーティション固有のデプロイメント・プランの使用方法」を参照してください。

管理者は、これらのリソース・オーバーライド手法を任意に組み合せることができます。システムでは、次に示す昇順の優先度でこれらが適用されます。

  • パーティション固有のアプリケーション・デプロイメント・プランを含む、config.xmlファイルおよび外部ディスクリプタ

  • リソース・デプロイメント・プラン

  • オーバーライド構成MBean

    属性がリソース・デプロイメント・プランおよびオーバーライド構成MBeanの両方で参照される場合、オーバーライド構成MBeanが優先されます。

構成MBeanオーバーライドの使用方法

オーバーライド構成MBeanでは、JMSキューまたはデータベース接続の属性など、頻繁に調整される属性をカスタマイズできます。オーバーライド構成MBeanの属性は、属性が置かれている場所に応じて、リソースのconfig.xml設定をオーバーライドするか、またはリソースの外部ディスクリプタの設定をオーバーライドします。

このリリースでは、WebLogic Server MTは、次のリソース・オーバーライド構成MBeanを提供します。

  • JDBCSystemResourceOverrideMBean

  • JMSSystemResourceOverrideMBean

  • ForeignServerOverrideMBean

  • ForeignConnectionFactoryOverrideMBean

  • ForeignDestinationOverrideMBean

  • MailSessionOverrideMBean

リソース構成オーバーライドMBeanは、通常、オーバーライド構成MBeanの名前をリソースMBeanの名前と照合することで機能します。「リソースMBeanオーバーライドの構成: 主なステップおよびWLSTの例」を参照してください。

リソース・デプロイメント・プランの使用方法

リソース・デプロイメント・プランは、単一のパーティション内の1つ以上のリソースの属性をオーバーライドするXMLファイルです。各パーティションは、そのパーティション内の任意のリソースをオーバーライドできるリソース・デプロイメント・プランを最大で1つ持つことができます。これには、パーティションのリソース・グループが参照するリソース・グループ・テンプレートで定義されているリソース、およびリソース・グループで直接宣言されているリソースが含まれます。

サーバーが再起動すると、リソース・デプロイメント・プラン(およびオーバーライド構成MBean)からの動的でない属性への変更は、リソースがアクティブになる前に適用されます。所定のリソースが実行された後、そのリソースの動的でない属性に影響する、リソース・デプロイメント・プランに対する変更は、パーティションが再起動されるまで有効になりません。

リソース・デプロイメント・プランを次のリソースとともに使用して、config.xmlファイルまたは外部ディスクリプタ・ファイルで構成されているオプションをオーバーライドできます。

  • CoherenceClusterSystemResource

  • FileStore

  • ForeignJNDIProvider

  • JDBCStore

  • JDBCSystemResource

  • JMSBridgeDestination

  • JMSServer

  • JMSSystemResource

  • MailSession

  • ManagedExecutorService

  • ManagedScheduledExecutorService

  • ManagedThreadFactory

  • MessagingBridge

  • PathService

  • SAFAgent

  • WLDFSystemResource

resource-deployment-plan構文

リソース・デプロイメント・プランは、weblogic-resource-deployment-plan.xsdファイルに基づくもので、WebLogic Serverアプリケーション・デプロイメント・プランに対して同様の構文があります。リソース・デプロイメント・プランは、変更対象のリソースおよび属性値を識別し、値の置換、新しい値の追加、および既存の値の削除をサポートします。

resource-deployment-plan構文のサマリーは次のとおりです。

resource-deployment-plan (@global-variables)
  description
  version
  variable-definition
    variable*
      name
      value
  external-resource-override*
    resource-name
    resource-type
    root-element
    variable-assigment*
      name
      xpath
  config-resource-override*
    resource-name
    resource-type
    variable-assigment*
      name
      xpath
      operation

@記号はXML属性を示し、アスタリスク(*)は要素が繰返し可能であることを意味します。operation要素はオプションですが、external-resource-override要素内であるかconfig-resource-override要素内であるかに関係なく、任意のvariable-assignment要素で使用できます。

リソース・デプロイメント・プラン内の基本要素は、次の関数に対する処理を行います。

  • resource-deployment-planは、ルート要素であり、リソース・デプロイメント・プランの内容すべてをカプセル化します。

  • variable-definitionは、1つまたは複数のvariable要素を定義します。各variableは、プラン内で使用される変数のname、および割り当てるvalue(nullでも可)を定義します。「サンプル・リソース・デプロイメント・プラン」に示すサンプル・プランには、メール・セッション・ユーザー名、メール・セッションJavaMailプロパティ、JDBC接続プール・パラメータ、テスト対象の表名プロパティに加えた変更に対する変数定義が含まれます。

  • external-resource-overrideconfig-resource-override要素(およびそれらの子要素)は、次の3つを実行します。

    1. 影響するリソースを識別します(resource-nameおよびresource-type)。

      パーティション内のリソースは、そのパーティション内で一意の名前を持つ必要があります。

    2. 属性が定義される場所を特定します。

      config-resource-override要素のすべての属性は、config.xmlファイルにあります。external-resource-override要素の属性は、外部ディスクリプタ・ファイルに格納されます。リソース・デプロイメント・プランの場合、ディスクリプタ・パスは、パーティションのconfig/ディレクトリに相対的です

    3. そのリソースの属性をいくつか指定して、(variable-assignment要素を)オーバーライドします。

      リソースの属性が見つかると、variable-assignment要素が適用されます。XPath式で、影響を受ける属性がbeanツリーに表示される場所(特定されるリソースのbeanに相対的)を示します。nameは、事前に定義されたvariable定義を示します。そのvariableは、元の属性設定に含まれるものを置換するvalueも設定します。

      デフォルトでは、variable-assignment要素の値は記述子内で定義済みの値に追加されます。variable-assignment要素内のoperation下位要素を、それぞれreplaceまたはremoveの各値に設定することにより、variable-assignment要素が記述子内で定義された値を置き換えるように、またはこれらの値を削除するように、この動作を変更できます。

WebLogic Serverリソース・デプロイメント・プランの内容の詳細は、http://xmlns.oracle.com/weblogic/resource-deployment-plan/1.0/resource-deployment-plan.xsdを参照してください。WebLogic Serverアプリケーション・デプロイメント・プランの詳細は、『Oracle WebLogic Serverへのアプリケーションのデプロイ』デプロイメント・プランの内容の理解に関する項を参照してください。

サンプル・リソース・デプロイメント・プラン

次に、サンプル・リソース・デプロイメント・プランを示します。

<resource-deployment-plan 
  xmlns="http://xmlns.oracle.com/weblogic/resource-deployment-plan" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema" 
  xsi:schemaLocation="http://xmlns.oracle.com/weblogic/resource-deployment-plan http://xmlns.oracle.com/weblogic/resource-deployment-plan/1.0/resource-deployment-plan.xsd"
>
  <description>Example RDP</description>
  <variable-definition>
    <variable>
      <name>mailNewSessionUsername</name>
      <value>aaron</value>
    </variable>
    <variable>
      <name>mailNewProps</name>
      <value>mail.user=someoneElse;mail.host=myMailServer.oracle.com</value>
    </variable>
    <variable>
      <name>jdbcTableToTest</name>
      <value>JUNK_TABLE</value>
    </variable>
  </variable-definition>
  <external-resource-override>
    <resource-name>myjdbc</resource-name>
    <resource-type>jdbc-system-resource</resource-type>
    <root-element>jdbc-data-source</root-element>
    <variable-assignment>
      <name>jdbcTableToTest</name>
      <xpath>/jdbc-data-source/jdbc-connection-pool-params/test-table-name</xpath>
    </variable-assignment>
  </external-resource-override>
  <config-resource-override>
    <resource-name>myMail</resource-name>
    <resource-type>mail-session</resource-type>
    <variable-assignment>
      <name>mailNewSessionUsername</name>
      <xpath>/mail-session/session-username</xpath>
    </variable-assignment>
    <variable-assignment>
      <name>mailNewProps</name>
      <xpath>/mail-session/properties</xpath>
    </variable-assignment>
  </config-resource-override>
</resource-deployment-plan>

リソースMBeanオーバーライドの構成: 主なステップおよびWLSTの例

リソースMBeanオーバーライドを構成する場合、オーバーライドするリソースに一致する名前のシステム・リソース・オーバーライドを定義し、それに対してパーティション固有の属性を構成します。

ドメイン・パーティションにリソース・オーバーライドを作成する前に、オーバーライドするリソースをリソース・グループ・テンプレートで最初に定義しておく必要があります。

JDBCシステム・リソース・オーバーライドの構成: 主なステップ

JDBCシステム・リソース・オーバーライドを構成する主なステップは次のとおりです。

  1. オーバーライドするデータ・ソースの名前でJDBCシステム・リソース・オーバーライドを作成します。
  2. オプションで、パーティション固有のURL、ユーザー名およびパスワードの値を指定します。
  3. リソースが実行中の場合は、オーバーライドを有効にするために、パーティションを再起動します。

JDBCシステム・リソース・オーバーライドの構成: WLSTの例

次の例は、WLSTを使用してJDBCシステム・リソース・オーバーライドを構成する方法を示しています。

edit()
startEdit()
cd('/Partitions/myPartition')
cmo.createJDBCSystemResourceOverride('myGDS')
 
cd('/Partitions/myPartition/JDBCSystemResourceOverrides/myJDBCSystemResourceOverride')
cmo.setURL('jdbc:oracle:thin:@lcr01156:1521:wldevdb2')
cmo.setUser('admin')
setEncrypted('Password', 'Password_1440013198602', 'C:/Oracle/Middleware/Oracle_Home/user_projects/domains/base_domain/Script1440013057535Config', 'C:/Oracle/Middleware/Oracle_Home/user_projects/domains/base_domain/Script1440013057535Secret')
activate()

JMSシステム・リソース・オーバーライドの構成: 主なステップ

JMSシステム・モジュールや外部サーバー・オーバーライドを構成する主なステップは次のとおりです。

  1. 外部サーバー・オーバーライドの名前を指定します。

    システムでは、オーバーライド構成MBeanの名前を使用するオーバーライドと、オーバーライドされる実際のリソースの名前を照合します。

  2. オプションで、初期コンテキスト・ファクトリ、接続URL、JNDIプロパティ資格証明およびJNDIプロパティのパーティション固有の値を指定します。

  3. リソースが実行中の場合は、オーバーライドを有効にするために、パーティションを再起動します。

JMS外部サーバー・オーバーライドや外部宛先オーバーライドを構成する主なステップは次のとおりです。

  1. 外部宛先オーバーライドの外部JMS宛先名を指定します。

    この外部宛先オーバーライドの名前は、オーバーライドされる実際のリソースの名前に一致している必要があります。

  2. オプションで、パーティション固有のリモートJNDI名の値を指定します。

  3. リソースが実行中の場合は、オーバーライドを有効にするために、パーティションを再起動します。

JMS外部サーバー・オーバーライドや外部接続ファクトリ・オーバーライドを構成する主なステップは次のとおりです。

  1. 外部接続ファクトリ・オーバーライドの外部JMS接続ファクトリ名を指定します。

    この外部接続ファクトリ・オーバーライドの名前は、オーバーライドされる実際のリソースの名前に一致している必要があります。

  2. オプションで、リモートJNDI名、ユーザー名およびパスワードのパーティション固有の値を指定します。
  3. リソースが実行中の場合は、オーバーライドを有効にするために、パーティションを再起動します。

JMSシステム・リソース・オーバーライドの構成: WLSTの例

次の例は、WLSTを使用してJMSシステム・リソース・オーバーライドを構成する方法を示しています。

edit()
startEdit()
cd('/Partitions/myPartition')
cmo.createJMSSystemResourceOverride('myJMSmoduleOverride')
activate()
 
startEdit()
cd('/Partitions/myPartition/JMSSystemResourceOverrides/myJMSmoduleOverride')
cmo.createForeignServer('newJMSforeignServer')
 
cd('/Partitions/myPartition/JMSSystemResourceOverrides/myJMSmoduleOverride/ForeignServers/newJMSforeignServer')
setEncrypted('JNDIPropertiesCredential', 'JNDIPropertiesCredential_1440013308523', 'C:/Oracle/Middleware/Oracle_Home/user_projects/domains/base_domain/Script1440013057535Config', 'C:/Oracle/Middleware/Oracle_Home/user_projects/domains/base_domain/Script1440013057535Secret')
cmo.setConnectionURL('java.naming.provider.url')
cmo.setInitialContextFactory('weblogic.jndi.WLInitialContextFactory')
activate()
 
startEdit()
cmo.createForeignDestination('myForeignDestinationOverride')
cd('/Partitions/myPartition/JMSSystemResourceOverrides/myJMSmoduleOverride/ForeignServers/newJMSforeignServer/ForeignDestinations/myForeignDestinationOverride')
cmo.setRemoteJNDIName('/remote')
activate()
 
startEdit()
cd('/Partitions/myPartition/JMSSystemResourceOverrides/myJMSmoduleOverride/ForeignServers/newJMSforeignServer')
cmo.createForeignConnectionFactory('myJMSconnectionFactoryOverride')
 
cd('/Partitions/myPartition/JMSSystemResourceOverrides/myJMSmoduleOverride/ForeignServers/newJMSforeignServer/ForeignConnectionFactories/myJMSconnectionFactoryOverride')
setEncrypted('Password', 'Password_1440013370283', 'C:/Oracle/Middleware/Oracle_Home/user_projects/domains/base_domain/Script1440013057535Config', 'C:/Oracle/Middleware/Oracle_Home/user_projects/domains/base_domain/Script1440013057535Secret')
cmo.setUsername('wlsqa')
cmo.setRemoteJNDIName('/remote')
activate()

メール・セッション・オーバーライドの構成: 主なステップ

メール・セッション・オーバーライドを構成する主なステップは次のとおりです。

  • メール・セッション・オーバーライドの名前を指定します。

    システムでは、オーバーライド構成MBeanの名前を使用するオーバーライドとリソースMBeanの名前を照合します。

  • オプションで、セッション・ユーザー名、セッション・パスワードおよびJavaMailプロパティのパーティション固有の値を指定します。

  • リソースが実行中の場合は、オーバーライドを有効にするために、パーティションを再起動します。

メール・セッション・オーバーライドの構成: WLSTの例

次の例は、WLSTを使用してメール・セッション・オーバーライドを構成する方法を示しています。

edit()
startEdit()
cd('/Partitions/myPartition')
cmo.createMailSessionOverride('myMailSessionOverride')
cd('/Partitions/myPartition/MailSessionOverrides/myMailSessionOverride')
cmo.setSessionUsername('wlsqa')
setEncrypted('SessionPassword', 'SessionPassword_1440013452297', 'C:/Oracle/Middleware/Oracle_Home/user_projects/domains/base_domain/Script1440013057535Config', 'C:/Oracle/Middleware/Oracle_Home/user_projects/domains/base_domain/Script1440013057535Secret')
cmo.setProperties({})
activate()

リソース・デプロイメント・プランの構成: 主なステップおよびWLSTの例

パーティション内のリソースを識別し、それらのリソースの属性設定をオーバーライドするXML文書を作成して、リソース・デプロイメント・プランを構成します。

  1. XMLエディタを使用して、リソース・デプロイメント・プランを作成します。「resource-deployment-plan構文」および「サンプル・リソース・デプロイメント・プラン」を参照してください。
  2. リソース・デプロイメント・プラン・ファイルへのパスを指定して、リソース・デプロイメント・プランをパーティションに関連付けます。
  3. リソースが実行中の場合は、パーティションを再起動します。

次に、リソース・デプロイメント・プランを既存のパーティションに関連付けるWLSTコマンドを示します。

edit()
startEdit()
partition=cmo.lookupPartition(partitionName)
partition.setResourceDeploymentPlanPath('/path/to/the/file.xml')
save()
activate()

リソース・オーバーライドの構成: 関連タスクおよびリンク

参照先の情報では、Oracle Enterprise Manager Fusion Middleware Control (FMWC)およびOracle WebLogic Server管理コンソールを使用してリソース・オーバーライドを構成するステップを示します。