ヘッダーをスキップ
Oracle Fusion Middleware Oracle B2Bユーザーズ・ガイド
11g リリース1(11.1.1.4.0)
B61381-02
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

A 大きなペイロードの処理

ここでは、次の項目について説明します。

A.1 大きなペイロードの処理

Oracle B2Bでは、SOAインフラストラクチャおよびJMS内部キューの使用によって、大きなペイロードを処理できます。

A.1.1 大きなペイロードのサポートの概要

インバウンドの設定

図A-1に、インバウンドの場合に設定するプロパティを示します。「管理」 > 「構成」の順に移動します。

図A-1 大きなペイロード・サイズ

図A-1の説明は次にあります。
「図A-1 大きなペイロード・サイズ」の説明

大きなペイロードを処理するためにコンポジットをデプロイする場合、必要な構成はこのプロパティのみです。B2Bでペイロードがコンポジットに配信されていない場合は、図A-2に示すように、「JMSキューをデフォルトとして使用」を「true」に設定します。「管理」 > 「構成」の順に移動します。

図A-2 JMSキューの使用

図A-2の説明は次にあります。
「図A-2 JMSキューの使用」の説明

「JMSキューをデフォルトとして使用」が「true」に設定されていると、ペイロードは、JMSベースのキューであるB2B_IN_QUEUEに配信されます。

アウトバウンドの設定

図A-3に、アウトバウンドの場合に設定するプロパティを示します。

図A-3 大きなペイロード・ディレクトリ

図A-3の説明は次にあります。
「図A-3 大きなペイロード・ディレクトリ」の説明

また、B2Bに、サービス・エンジンで大きなペイロードが送信されていることを通知する必要があります。この変更には次の2つの手順があります。

大きなペイロードをOracle B2Bに送信する場合は、b2b.largePayloadプロパティをBPELプロセスで設定する必要があります。大きなペイロードを処理しないコンポジット・サンプルの場合、変更はありません。

このフラグを処理するためのOracle B2Bのコード変更

  1. アウトバウンドBPELプロセスの<variables>セクションで、Variable_largePayload変数を宣言します。

    <variable name="Variable_largePayload" type="xsd:string"/>
    
  2. assignアクティビティで、'true'を変数にコピーします。

    <copy>
     <from expression="'true'"/>
     <to variable="Variable_largePayload"/>
    </copy>
    
  3. invokeアクティビティで、変数をb2b.largePayloadに割り当てます。

    <bpelx:inputProperty name="b2b.largePayload"
     variable="Variable_largePayload"/>
    

注意:

BPELによって大きなペイロードがOracle B2Bに送信されていない場合、このプロパティは設定しないでください。

コードがチェックインされた場合は、このコードに適合するように大きなペイロードのサンプルを更新する必要があります。

BPELおよびMediatorで、b2b.largePayloadtrueに設定されている場合は、largePayloadDirが存在する必要があります(Oracle B2Bで設定します)。b2b.largePayloadが設定されていない場合、このディレクトリは重要ではありません。

Oracle B2Bでは、対応するエンドポイントにペイロードが送信された後、大きなペイロードは大きなペイロード処理ディレクトリに保持されます。


大きなペイロードのサポートについて

  1. 大きなペイロードをテストしている場合は、「管理」 > 「構成」タブの「ペイロードをログに記録」を「false」に設定します。

  2. 大きなペイロードをテストしている場合は、ペイロードがレポートにリストされないように、「管理」 > 「構成」タブの「ペイロードの表示」を「false」に設定します。

  3. 大きなペイロードの処理時にエンキュー・スクリプトを使用する場合は、次の指定を追加します。

    eventName=LARGE_PAYLOAD=true
    
  4. 最大ヒープ・サイズを、-Xmx2048mを使用するように増やします。

  5. soadatasourceが自動拡張するようにデータベースの表領域サイズを増やし、表領域ファイル・サイズの上限を増やします。

    alter database datafile '/scratch/$user/auto_work/db230/oradata/db230/SH_soainfra.dbf' autoextend on next 10M maxsize 4096M

  6. Oracle WebLogic管理サーバーでトランザクション・タイムアウトを設定します。

    • Weblogicコンソール・サービス -> JTAタイムアウト秒=720秒。

    • Weblogicコンソール・サービス -> 「JDBC」->データソース->SOADataSource。XAタイムアウトを120秒から180秒に増やします。

  7. Oracle B2Bを(SOAインフラストラクチャを使用せずに)単独で使用する場合は、Oracle Enterprise Manager Fusion Middleware Controlを使用して、b2b.jtaTimeoutにJTAタイムアウトを設定できます。詳細は、『Oracle Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suite管理者ガイド』を参照してください。

  8. アウトバウンドSOAコンポジットの場合は、図A-4に示すように、Fileアダプタ用に「ファイル・ストリーミングを使用します」オプションを常に選択します。

    図A-4 Fileアダプタの「ファイル・ストリーミングを使用します」オプション

    図A-4の説明は次にあります。
    「図A-4 Fileアダプタの「ファイル・ストリーミングを使用します」オプション」の説明

A.1.2 大きなペイロードおよび32ビットのWindows PC

32ビットのWindowsコンピュータでは、ペイロード・サイズの制限が50MBです。これは、Windows固有の制限によって、1536Mを超えるヒープ・サイズを設定できないためです。Java VMによって、メモリー不足例外がスローされます。

A.1.3 大規模データセットのシナリオの設定

次の推奨設定は、約2,500の取引パートナを含むデータセット(サイズが約253MBのエクスポートZIPファイル)があり、6GBのコンピュータを使用することを想定しています。このような設定を使用すると、アップグレード・アシスタントを使用した場合に、データ・アップロード時間を大幅に短縮できる可能性があります。

  1. Oracle WebLogic Server管理コンソールを使用して、次の値を増やします。

    • JTAトランザクション・タイムアウトを30から350に増やします。

    • 最大メッセージ・サイズをデフォルト・サイズから200000000に増やします。

  2. パフォーマンス向上のために索引を追加します。Oracle Database 11g Enterprise Editionリリース11.1.0.7.0 - 製品版を、「パーティショニング」、「OLAP」、「データ・マイニング」、「Real Application Testing」の各オプションとともに使用して、次の処理を実行します。

    SQL> create index idx_mds_attr on
    rc1_mds.MDS_ATTRIBUTES("ATT_VALUE","ATT_LOCALNAME");
    Index created.
    
    SQL> create index idx_mds_path on
    rc1_mds.MDS_PATHS("PATH_CONTENTID","PATH_PARTITION_ID");
    Index created.
    
    SQL> commit;
    
  3. 次の更新後のメモリー設定を使用して管理対象サーバーを起動します。

    DEFAULT_MEM_ARGS="-Xms1024m -Xmx2048m"
    
  4. ORACLE_HOME/bin/UAデフォルト・メモリーをデフォルトの256から2048に変更します。デフォルトは次のとおりです。

    $JAVA_HOME/bin/java ${JAVAMODE} -Xmx256m -classpath ${CLASSPATH}
    -Dua.home=$base_dir -Dice.pilots.html4.ignoreNonGenericFonts=true
    -Dsun.lang.ClassLoader.allowArraySyntax=true
    -Doracle.installer.oui_loc=$OUI_HOME oracle.ias.upgrade.UpgradeDriver
    $ARGUMENTS
    

    このデフォルトを次のように変更します。

    $JAVA_HOME/bin/java ${JAVAMODE} -Xmx2048m -classpath ${CLASSPATH}
    -Dua.home=$base_dir -Dice.pilots.html4.ignoreNonGenericFonts=true
    -Dsun.lang.ClassLoader.allowArraySyntax=true
    -Doracle.installer.oui_loc=$OUI_HOME oracle.ias.upgrade.UpgradeDriver
    $ARGUMENTS
    
  5. スタック・スレッド最大時間を600から2000に変更します。