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]"
として後からアクセスできるようになります。