Flex Gateway新着情報
Governance新着情報
Monitoring API Managerこのページの例は、com.me パッケージに属する Person Java クラスに基づいています。
package com.me;
public class Person {
    private String name;
    private Integer age;
    public Person() {
        this.name = "Max Mule";
        this.age = 10;
    }
    public Person(String name, Integer age) {
        this.name = name;
        this.age = age;
    }
}
| 
 Java Module で使用するクラスはエクスポートする必要があります (デフォルトパッケージに属していない場合)。 エクスポートしないと、実行に失敗し、JAVA:CLASS_NOT_FOUND エラーが表示されます。 「リソースのエクスポート方法」を参照してください。  | 
このクラスのコンストラクターは、Java Module の new 操作を使用してコールできます。
この例は、パラメーターが不要なコンストラクターを使用して Person のインスタンスを作成する方法を示しています。
<java:new class="com.me.Person" constructor="Person()"/>
パラメーターが必要なコンストラクターを使用して Person オブジェクトを作成する方法を次に示します。
<java:new class="com.me.Person" constructor="Person(String, Integer)">
    <java:args>#[{
      name: 'John Doe',
      age: 30
    }]</java:args>
</java:new>
コンストラクターのパラメーターでは、constructor="Person(java.lang.String, java.lang.Integer)" などの完全なパッケージ名を指定できます。これは必要ありませんが、コードをより明確にしたり、Java コードに競合するクラス名がある場合に役立ちます。
| 
 
 パラメーターを名前 ( クラスが  
Java クラスが Studio プロジェクトで定義されている場合、 
 | 
Java Module を使用する利点の 1 つは DataSense サポートです。これにより、new 操作の入力として機能する args マップをビルドできます。
new 操作で com.me.Person クラスの Person(String, Integer) コンストラクターをコールする前記の例を続行し、グラフィカルビューの表示アイコン 
 をクリックして、項目を照合するビューを表示します。フローの前のコンポーネントが (Set Payload コンポーネントでできることと同様に) name および age キーを含むマップを出力するとします。このビューは次のようになります。
項目を左から右にドラッグアンドドロップすることで一致させることができます。これにより、次のようになります。
new 操作が設定されて準備が整いました。
DataSense は、操作の出力のメタデータも提供します。new 操作により、次に示すように Person オブジェクトが出力メッセージのペイロード内に配置されます。
出力オブジェクトをペイロード内に配置する代わりに、対象パラメーターをサポートする new 操作で出力オブジェクトを変数に保存できます。
例:
<java:new class="com.me.Person"
    constructor="Person(String, Integer)"
    target="john">
    <java:args>#[{
      name: 'John Doe',
      age: 30
    }]</java:args>
</java:new>
出力オブジェクトは変数に保存され、"#[vars.john]" として後からアクセスできるようになります。