アップグレード ガイド

     前  次    新しいウィンドウで目次を開く     
ここから内容

その他のコンポーネントの変更

この節では、次のコンポーネントについて WebLogic Integration 8.1.x または 8.5.x から Oracle WebLogic Integration 10g Release 3 (10.3) へのアップグレードの情報を説明します。

 


コントロール ファクトリ

Oracle WebLogic Integration では、JPD からコントロール ファクトリとして使用される Oracle WebLogic Integration コントロールのみがアップグレードされます。WLI では、次のようにソースが更新されます。

  1. JPD のコントロール フィールドの宣言に @com.bea.wli.common.ControlFactory アノテーションを追加します。以下に例を示します。

  2. @com.bea.wli.common.ControlFactory
    @ org.apache.beehive.controls.api.bean.Control
    private SampleControlExtension sampleControlExtCF;
  3. アップグレードされたコントロール拡張インタフェースに、メソッドと以下のシグネチャを追加します。
  4. public <Control Extension type> create();

    以下に例を示します。

    public SampleControlExtension create();
  5. 必要に応じて、JPD のイベント ハンドラ メソッドに @com.bea.wli.common.ControlFactoryEventHandler アノテーションを追加します。以下に例を示します。
  6. @com.bea.wli.common.ControlFactoryEventHandler(field = "sampleControlExtCF", eventSet = SampleControlExtension.Callback.class, eventName = "response")
    public void receive(SampleControlExtension bean, String data)

タイマー コントロールにコントロール拡張はありません。タイマー コントロールが ControlFactory から使用された場合、アップグレード ツールによって TimerControlFactory クラスが JPD と同じパッケージに作成されます。

Oracle WebLogic Integration 以外のコントロールを JPD からのコントロール ファクトリとして使用している場合、コントロール ファクトリからコントロールを使用するには、アップグレードの後に以下の手順に従ってください。

  1. JPD のコントロール フィールドの宣言に @com.bea.wli.common.ControlFactory アノテーションを追加します。
  2. アップグレードされたコントロール拡張インタフェースに、メソッドと以下のシグネチャを追加します。
  3. public <Control Extension type> create();

    以下に例を示します。

    public SampleControlExtension create();
  4. 必要に応じて、JPD のイベント ハンドラ メソッドに @com.bea.wli.common.ControlFactoryEventHandler アノテーションを追加します。以下に例を示します。
  5. @com.bea.wli.common.ControlFactoryEventHandler(field = "sampleControlExtCF", eventSet = SampleControlExtension.Callback.class, eventName = "response")
    public void receive(SampleControlExtension bean, String data)

 


XQuery ファイル

Oracle WebLogic Integration では、XQuery ファイルは DTF ファイルのアップグレードを介してアップグレードされます。DTF ファイルには XQuery ファイルへの参照が含まれており、それらの XQuery ファイルが DTF ファイルと一緒にアップグレードされます。XQuery ファイルがアップグレードされると、そのファイルがバージョン 2002 であることを示すコメントが Oracle WebLogic Integration によってファイルの先頭に付けられます。

アップグレード前の XQuery ファイルの例を次に示します。

{-- Project3/SwitchAssignTransformation.dtf#forAssign2Copy01 --}
xs:boolean( 'false' )

アップグレード後の XQuery ファイルは次のようになります。

{-- Project3/SwitchAssignTransformation.dtf#forAssign2Copy01 --}
{-- version=2002 --}
xs:boolean( 'false' )
注意 : Oracle WebLogic Integration では、XQuery ファイルに対してアップグレード アクションを選択すると、そのファイルがアップグレードできないことを示す警告メッセージが表示されます。
警告 : XQuery ファイル内の Xquery はバージョン 2004 にアップグレードされず、アップグレード前の元のファイルのバージョンのままになります。

 


JPD およびコントロール コールバック

Oracle WebLogic Integration では、@Control を使用するコントロール宣言は Apache Beehive 標準に従ってアップグレードされます。JPD コールバック フィールドに @Callback アノテーションが指定されます。コールバック インタフェースには @CallbackInterface アノテーションが指定されます。コールバック インタフェース宣言は、JPD 定義の一部として残り、ServiceBrokerControl を拡張します。

Apache Beehive 標準に基づいて、Oracle WebLogic Integration によって、コントロール コールバック ハンドラ メソッドにも @EventHandler() アノテーションが指定されます。

<controlReceive\> XML コードから参照されるプロセス定義内のすべてのメソッドには、アップグレード時に @EventHandler アノテーションが指定されます。

注意 : コントロール コールバックを JPD に送信できるのは、ControlHandle.sendEvent を使用する場合のみです。
注意 : たとえば、アップグレードの後で次のコードを MyCustomControlImpl.java ファイルに追加します。
注意 : System.out.println("Before sending event to jpd in MyCustomControlImpl event
注意 : handler");
注意 : ControlHandle controlHandle = context.getControlHandle();
注意 : try {
注意 : Method m = MyCustomControl.Callback.class.getMethod("response",
注意 : XmlObject.class);
注意 : EventRef event = new EventRef(m);
注意 : controlHandle.sendEvent( event, new Object[]{payload});
注意 : }
注意 : catch (Exception e) {
注意 : e.printStackTrace();
注意 : }

 


JPD プロセス言語

WebLogic Integration 8.1.x および 8.5.x アプリケーションでは、プロセス言語全体が @jpd:process を使用して指定されていました。ただし、Oracle WebLogic Integration 10g Release 3 (10.3) では、プロセス言語が @com.bea.wli.jpd にアップグレードされます。プロセス アノテーションの process 属性に、プロセス言語文字列全体が含まれます。

 


DTF トランスフォーメーション

DTF ファイルをアップグレードすると、拡張子が .java に変わります。WebLogic Integration 8.1 のすべての DTF ファイルのアノテーションは、JSR-175 ベースのアノテーションにアップグレードされます。すべてのコントロールは Apache Beehive コントロールに変換されます。

WebLogic Integration 8.1 の DTF ファイルには他の Oracle WebLogic Integration コントロールと似た関数が含まれますが、これらの関数は抽象クラスです。インタフェースである他のコントロールとは異なります。DTF クラスには、メタデータで指定されたメソッドと、完全にコード化されたメソッドが含まれます。完全にコード化されたメソッドは、XQuery エンジンが呼び出す実際の Java メソッド本体によって指定されます。

XQuery バージョン 2002 を示す xquery 属性と xquery-ref 属性を含んでいた DTF アノテーションは、Oracle WebLogic Integration 10g Release 3 (10.3) では新しい xqueryVersion 属性を含むようになりました。

Oracle WebLogic Integration 10g Release 3 (10.3) では、すべてのインポート文がアップグレードされ、必要に応じて新しいインポート文が追加されます。たとえば、次のようなアノテーションを含む WebLogic Integration 8.1 DTF ファイルがあるとします。

/**
     * @dtf:transform xquery-ref="switchXqAssign2defaultAssign_1Copy01.xq"
     */

この DTF ファイルを Oracle WebLogic Integration 10g Release 3 (10.3) にアップグレードすると、次のようになります。

@XQueryTransform(value = "switchXqAssign2defaultAssign_1Copy01.xq",  
transformType = XQueryTransform.TransformMethodType.xquery_ref,  
@com.bea.wli.common.XQuery(version = com.bea.wli.common.XQuery.Version.v2002)

 


チャネル ファイル

チャネル ファイルの定義に関する変更はありません。チャネル ファイルはアップグレード プロセスではアップグレードされません。ただし、チャネル ファイルは Oracle WebLogic Integration アプリケーションのユーティリティ プロジェクトに移動されます。


  ページの先頭       前  次