Flex Gateway新着情報
Governance新着情報
Monitoring API ManagerDevKit は、Studio 6 および Mule 3 とのみ互換性があります。Mule 4 Connector を作成するには、 「Mule SDK」ドキュメントを参照してください。 |
すべての Mule 要素と同様に、コネクタには、コネクタのグローバル設定ダイアログで割り当てることができる属性があります。DevKit を使用すると、必須属性と省略可能な属性を定義できます。
このドキュメントは、読者が Anypoint Connector DevKit に精通しており、コネクタの認証方法についてすでに学習していることを前提とします。
コネクタの属性は @Configurable
アノテーションを使用して定義され、少なくともユーザの観点から不可欠とされる項目を作成するコードを提供します。DevKit 3.7 以降、すべての @Configurable
パラメータを、通常は個別の Java ファイルで定義される @Connector
クラスではなく「Config」クラス内に配置する必要があります。これらの属性は、デフォルトで設定されていない場合、コネクタのグローバル設定ダイアログでユーザにより割り当てられます。各属性の @Configurable
アノテーションに加えて、属性の public getter および setter を定義する必要があります。
注意: コネクタは、コネクタのコードを作成するときに定義した、任意の数の単純または複雑な @Configurable
属性を使用できます。
コネクタ設定の例
<barn:config name="Barn" key="myKey" doc:name="Barn"/>
前述のように、@Configurable
属性は必須です。属性を省略可能にするには、@Optional
アノテーションでマークします。
public abstract class AbstractAnalyticsConfig {
...
/**
* Hostname of the proxy. If this property is not set then no proxy is used, otherwise proxy is going to be used but host can not be empty.
*/
@Configurable
@Optional
@Placement(group = "Proxy Settings")
@FriendlyName(value = "Host")
private String proxyHost;
/**
* Port of the proxy. If host is set then this property has to be set and can not be a negative number.
*/
@Configurable
@Optional
@Default("3128")
@Placement(group = "Proxy Settings")
@FriendlyName(value = "Port")
private Integer proxyPort;
}
いくつかのサンプルプロキシ設定が定義されている、部分的に完成された設定の XML 設定:
<sfdc-analytics:config name="Salesforce_Analytics_Cloud__Basic_authentication" username="" password="" securityToken="" metadataFileName="" proxyHost="127.3.4.12" proxyUsername="dearuser" proxyPassword="asdfaesfasf" doc:name="Salesforce Analytics Cloud: Basic authentication" proxyPort="3127"/>
ユーザがデフォルトのポート番号を変更しない場合、設定に情報は表示されません。たとえば、proxyPort="3127"
に変更した場合、その情報がコネクタの XML 設定に表示されます (上の SFDC Analytics の場合、デフォルトのポート番号は「3128」)。
省略可能な属性の場合のみ、@Default
アノテーションを使用してデフォルト値を設定できます。この値は、属性に値が割り当てられていない場合に使用されます。
次に例を示します。
public abstract class AbstractAnalyticsConfig {
...
@Configurable
@Default("0")
@Placement(group = "Connection")
private int connectionTimeout;
}
注意: 属性が @Default
としてマークされている場合、その属性は暗黙的に @Optional
にもなります。
デフォルトでは、Anypoint DevKit は、Studio のダイアログボックスの名前と表示ラベルを、Java ファイル内のメソッド、パラメータ、JavaDoc コメント、およびインスタンス変数名から推定します。ただし、アノテーションを使用してコンポーネントのデザインのさまざまな側面をカスタマイズし、ユーザエクスペリエンスの向上を図ることもできます。
注意: org.mule.api.annotations.display
パッケージで定義されているアノテーションを使用して、このカスタマイズを行うことができます。
Studio のコネクタのダイアログやコネクタのドキュメントに属性をどのように表示するかを制御するいくつかのアノテーションを使用することが可能であり、また、必要となります。
変数およびメソッドパラメータでこのアノテーションを使用して、@Configurable
変数または @Processor
/@Source
/@Transformer
メソッドパラメータの推定されるデフォルトのニックネームを上書きします。このアノテーションを持つパラメータを提供する必要があります。
@Connector(name="barn", schemaVersion="1.0", friendlyName="Barn", minMuleVersion="3.6")
public class BarnConnector
{
...
このアノテーションを使用して、項目またはメソッドパラメータをパスワードとして識別します。つまり、プレーンテキストとして表示すべきではないデータを含む変数として識別します。
/**
* Password used to authenticate against the proxy.
*/
@Configurable
@Optional
@Password
@Placement(group = "Proxy Settings")
@FriendlyName(value = "Password")
private String proxyPassword;
変数およびメソッドパラメータでこのアノテーションを使用して、@Configurable
変数または @Processor
/@Source
/@Transformer
メソッドパラメータの推定されるデフォルトの説明を上書きします。
@Processor
@Summary("This processor puts an animal in the barn")
public String putInBarn(String animal)
{
return animal + "has been placed in the barn";
}
コネクタクラスでこのアノテーションを使用して、1 つ以上の必須アイコンのデフォルトの場所を上書きします。パスは /src/main/java
への相対パスである必要があります。
@Icons(connectorLarge="barn-icon-large.png", connectorSmall="barn-icon-small.png")
@Connector(name="barn", schemaVersion="1.0", friendlyName="Barn", minMuleVersion="3.6")
public class BarnConnector
{
...
変数およびメソッドパラメータでこのアノテーションを使用します。以下のパラメータを受け入れます。
order — グループ内のアノテーション付き要素の相対的な順序。提供された値が重複している場合、それらの要素の順序は任意に定義されます。値は相対的です。順序 10 の要素は、値 25 の要素よりも優先されます。
group — 1 つ以上の変数をまとめて表示するための論理的な方法。グループを指定しない場合、Mule ではデフォルトのグループが想定されます。同じグループに複数の要素を配置するには、この属性の同じ値をそれらに割り当てます。
tab — アノテーション付き要素をグループ化するための論理的な方法。この属性は、アノテーション付き要素を表示するタブの名前を指定します。タブが指定されていない場合、Mule ではデフォルトのタブが想定されます。同じグループに複数のパラメータを配置するには、この属性の同じ値をそれらに割り当てます。
@Configurable
@Placement(group = "Basic Settings", order = 1)
@FriendlyName("Consumer Key")
private String consumerKey;
@Configurable
@Placement(tab="Advanced Settings", group = "General Information", order = 2)
@Summary("the application name")
@FriendlyName("Application Name")
private String applicationName;
@Configurable
@Placement(group = "Basic Settings", order = 3)
@FriendlyName("Consumer Secret")
@Summary("consumer secret for authentication")
private String consumerSecret;
次へ: 列挙型やコレクションなど、複雑なデータ型の属性のサポートについての詳細を学習します。
コネクタへの DataSense の追加についての詳細を学習します。