WebLogic Integration 9.2 へのアップグレード

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

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

この節では、次のコンポーネントについて WebLogic Integration 8.1 から 9.2 へのアップグレードの情報を説明します。

 


コントロール ファクトリ

WebLogic Integration アップグレード ツールでは、JPD からコントロール ファクトリとして使用される WebLogic Integration コントロールのみがアップグレードされます。アップグレード ツールは、以下のソースの変更を行います。

  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 と同じパッケージに作成されます。

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

  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 ファイル

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

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

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

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

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

 


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

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

Apache Beehive 標準に基づいて、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.x アプリケーションでは、プロセス言語全体が @jpd:process を使用して指定されていました。ただし、WebLogic Integration 9.2 では、プロセス言語が @com.bea.wli.jpd にアップグレードされます。プロセス アノテーションの process 属性に、プロセス言語文字列全体が含まれます。

 


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

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

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

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

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

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

この DTF ファイルを WebLogic Integration 9.2 にアップグレードすると、次のようになります。

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

 


チャネル ファイル

チャネル ファイルはアップグレード プロセスではアップグレードされません。Eclipse のユーティリティ プロジェクトに移動されます。


  ページの先頭       前  次