Anypoint Code Builder を使用したコネクタの設定

Anypoint Code Builder を使用してコネクタを設定する手順は、次のとおりです。

始める前に

インテグレーションプロジェクトを作成する前に、次の作業を行う必要があります。

コネクタを使用するには、以下に精通している必要があります。

  • コネクタの API

  • Anypoint Connector

  • Mule Runtime Engine (Mule)

前提条件を満たしたら、Anypoint Code Builder でアプリケーションを作成してコネクタを設定できます。

新しいインテグレーションプロジェクトを作成する

  1. IDE のアクティビティバーで、​​ (​Anypoint Code Builder​) アイコンをクリックします。

  2. [Quick Actions (クイックアクション)]​ から ​[Develop an Integration (インテグレーションを開発)]​ をクリックします。

    "[Getting started (使用開始) セクション内で強調表示されている [Develop an Integration (インテグレーションを開発)]リンク"]

  3. [Develop an Integration (インテグレーションを開発)]​ フォームに入力します。

    属性

    Project Name (プロジェクト名)

    プロジェクトの一意の名前。

    この名前はタイトルおよびインテグレーションプロジェクトファイルの名前として使用されます。 たとえば、プロジェクト名が「Salesforce Integration」 (Salesforce インテグレーション) の場合、プロジェクトファイル名は ​salesforce-integration​ になります。

    Project Location (プロジェクトの場所)

    ホームディレクトリまたは作成する別のディレクトリ。インテグレーションプロジェクト用の別のディレクトリを選択するには、​[Browse (参照)]​ をクリックします。

    別のプロジェクトディレクトリ内にプロジェクトを作成しないでください。

  4. [Create Project (プロジェクトを作成)]​ をクリックします。

インテグレーションプロジェクトにコネクタを追加する

Anypoint Connector では、システムからのデータの取得、データの変更、システムへのデータの送信を行うための操作が提供されます。

Anypoint Code Builder で提供される​組み込みコネクタ​に加えて、ユーザーは Anypoint Exchange から他の多くのコネクタをダウンロードできます。

Exchange からコネクタをインポートして設定に追加する手順は、次のとおりです。

  1. [Explorer] ビューで、目的のプロジェクトの設定 XML ファイル (​my-project-name.xml​ など) を開きます。

  2. キャンバス UI が自動的に開かない場合は、アクティビティバーの ​​ (​Show Mule graphical mode (Mule グラフィカルモードを表示)​) アイコンをクリックしてキャンバス UI を開きます。

  3. キャンバス UI から他のコンポーネントを追加した方法と同じ方法でコネクタを追加します。

    1. キャンバス UI で ​​ (​[Add component (コンポーネントを追加)]​) アイコンをクリックします。

    2. [Add Component (コンポーネントを追加)]​ パネルで ​[Connectors (コネクタ)]​ をクリックします。

    3. コネクタ名をクリックし、追加する操作 (​Publish​ など) をクリックします。

      "Anypoint MQ Connector での [Add Publish 操作"]

      コネクタをローカルで使用できない場合、​​ (​[Search in Exchange (Exchange 内を検索)]​) 切り替えをクリックします。

      "[Search in Exchange (Exchange 内を検索) 切り替え"]

      1 Search locally (ローカルで検索)
      2 Search in Exchange (Exchange 内を検索)
    4. プロジェクトに追加するコネクタを選択します。

    5. [Add Component (コンポーネントを追加)]​ パネルから操作を選択します。

コネクタをインテグレーションプロジェクトに追加しても、Anypoint Code Builder ワークスペースの他のプロジェクトはそのコネクタを使用できません。

設定ファイルの作成

設定ファイルは、別の設定を参照したり、コネクタのプロパティの値を指定したりする YAML ファイルです。アプリケーションをデプロイする環境に基づいて設定プロパティを定義します。

  1. [Explorer]​ ビューで ​resources​ フォルダー (​src/main/resources​) を右クリックして ​[New File (新規ファイル)]​ を選択します。

  2. ファイルに ​config.yaml​ という名前を付けます。

  3. コネクタに接続するために必要な接続プロパティをファイルに入力します。Salesforce、Gmail、Slack の接続プロパティの例を次に示します。

    salesforce:
     username: "yourUserName"
     password: "yourPassword"
     token: "yourToken"
    
    email:
     host: "smtp.gmail.com"
     username: "yourGmailEmail"
     password: "yourEmailAppPassword"
    
    slack:
     token: "yourSlackToken"
  4. プロジェクト XML に移動し、​</mule>​ タグの前に新しい行を追加し、​「configuration」​と入力して ​mule:configurationProperties​ を選択します。

    矢印で mule:configurationProperties コンポーネントを指し示しているコンポーネントのリスト
  5. 属性をスクロールして、​file​ の値を ​config.yaml​ に設定します。

    <configuration-properties file="config.yaml" doc:name="Configuration properties" />

Salesforce Connector の設定例

config.yaml​ ファイルの値を使用して、Salesforce Connector を Salesforce 環境に接続します。

  1. プロジェクト XML ファイルで、​<configuration-properties/>​ 要素の後に新しい行を作成し、​「salesforce」​と入力して ​salesforce:sfdc-config​ を選択します。

  2. [name (名前)]​ 項目を ​[Salesforce-Config]​ に設定します。

  3. 新しい行を作成し、​「basic」​と入力して ​Salesforce。Basic​ を選択します。

  4. 設定ファイル値を使用するように ​username​ および ​password​ プロパティを設定します。

    <salesforce:basic-connection username="${salesforce.username}" password="${salesforce.password}" securityToken="${salesforce.token}" />

    ${salesforce.username}​ および ​${salesforce.password}​ 要素の上にカーソルを置くと、Anypoint Code Builder に設定ファイルの値が表示されます。

  5. <salesforce:sfdc-config/>​ 要素の ​[Test Connection (接続をテスト)]​ をクリックして、Salesforce への接続を検証します。

    接続 XML の [Test Connection (接続をテスト)] オプションを指し示している矢印

    Anypoint Code Builder で ​[Connection is valid (接続は有効)]​ メッセージが返されます。

    エラーを取得した場合、エラーメッセージを確認してさらにトラブルシューティングします。詳細は、​「トラブルシューティング」​を参照してください。

フローのトリガーの設定

トリガー (ソース) は、指定された条件が満たされたときにフローを開始します。コネクタに独自のソースが関連付けられている場合、コネクタ固有のトリガーを使用してフローを開始できます。各コネクタトリガーには、固有の設定があります。

HTTP リスナーの設定

HTTP リスナーをフローのトリガーとして使用する手順は、次のとおりです。

  1. キャンバスで ​[Listener]​ コンポーネントをクリックします。

  2. (省略可能) 編集アイコンをクリックして、​[Listener]​ コンポーネントの名前を変更します。

  3. (省略可能) コネクタの設定ファイルを作成した場合はそれを選択します。

  4. [General (一般)]​ タブの ​[Path (パス)]​ 項目に、HTTP 設定要素で設定されたパスの相対パスを入力します。​「パスの設定」​を参照してください。

  5. [Advanced (詳細)]​ タブを選択して、次の属性を設定します。

    属性 説明 必須

    Allowed methods (許可されるメソッド)

    すべての HTTP メソッドを許可する (デフォルト) 場合は、この属性を定義しないでください。特定のメソッドを制限するには、許可される HTTP メソッドをカンマ区切り形式で指定します (例: POST,GET​)。

    いいえ

    Response streaming mode (応答ストリーミングモード)

    応答の送信時にストリーミングを使用するかどうか。HTTP Connector は、レスポンスボディの管理時に本文のサイズが明らかではない場合、送信するデータの種類を考慮し、​chunked​ エンコードを使用します。これによりサイズ情報のないストリームとなります。この動作を制御するには、次のいずれかのオプションを選択します。

    • AUTO (デフォルト)
      本文のサイズが定義されている場合、​Content-Length​ エンコードを使用します。定義されていない場合は ​Transfer-Encoding: chunked​ を使用します。

    • ALWAYS (常時)
      存在するサイズデータに関係なく ​Transfer-Encoding: chunked​ を使用します。

    • NEVER (なし)
      Content-Length​ エンコードを使用し、必要に応じてストリームをコンシュームしてデータサイズを判定します。

    いいえ

    Output MIME type (出力 MIME タイプ)

    このコンポーネントで出力されるペイロードの MIME タイプ。

    いいえ

    パラメーター

    リーダープロパティのキー-値ペアが出力 MIME 属性に追加されます。複数のキーと値のペアが許可されます。

    いいえ

    Output encoding (出力エンコード)

    このコンポーネントで出力されるペイロードのエンコード。

    いいえ

    Streaming Strategy (ストリーミング戦略)

    Mule アプリケーションでのデータストリームのコンシューム方法を設定します。この属性は現在設定 UI で有効になっていません。XML エディターで設定してください。​XML でのストリーミング戦略の設定​ を参照してください。

    いいえ

    Primary node only (プライマリノードのみ)

    選択すると、アプリケーションがクラスターで実行されるときに ​Listener​ トリガーがプライマリノード上でのみ実行されます。

    いいえ

    Redelivery policy (再配信ポリシー)

    エラーを生成する要求を実行するための再配信ポリシーを設定します。再配信ポリシーは、フロー内のあらゆる提供元に追加できます。この属性は現在設定 UI で有効になっていません。XML エディターで設定してください。​「Redelivery Policy (再配信ポリシー)」​を参照してください。

    いいえ

    Reconnection strategy (再接続戦略)

    Mule アプリケーション内の操作が外部サーバーへの接続に失敗すると、デフォルト動作ではその操作は直ちに失敗し、接続エラーが返されます。デフォルト動作を変更するには、操作の再接続戦略を設定します。この属性は現在設定 UI で有効になっていません。XML エディターで設定してください。​「Reconnect (再接続)」​、​「Reconnect Forever (繰り返し再接続)」​、および​XML での再接続戦略の設定​を参照してください。

    いいえ

    Response (応答)

    メッセージの本文 (またはペイロード) に関連付けられたメタデータが含まれる属性。詳細は、​「HTTP Response Attributes (HTTP 応答属性)」​を参照してください。

    いいえ

    Error Response (エラー応答)

    選択すると、HTTP エラー応答でエラーの状況コードが返されます。

    いいえ

    Body (本文)

    エラーメッセージの本文。

    いいえ

    Headers (ヘッダー)

    エラーメッセージに含めるヘッダー。各ヘッダー属性は、等号 (=) で区切られたキー-値のペアになっています。次に例を示します。

    Headers=[
          date=Sun, 20 Jan 2019 19:13:51 GMT
          content-type=text/html;
          charset=UTF-8
          transfer-encoding=chunked
          connection=keep-alive
          set-cookie=__cfduid=d03462713a0b2c57c8d2ad3bf311287041548011631;
          expires=Mon, 20-Jan-20 19:13:51 GMT;
          path=/;
          domain=.typicode.com;
          HttpOnly
          x-powered-by=Express
          vary=Origin, Accept-Encoding
          access-control-allow-credentials=true
          cache-control=public, max-age=14400
          last-modified=Tue, 15 Jan 2019 18:17:15 GMT
          via=1.1 vegur
          cf-cache-status=HIT
          expires=Sun, 20 Jan 2019 23:13:51 GMT
          expect-ct=max-age=604800,
          report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
          server=cloudflare
          cf-ray=49c3dc570c2f281c-SJC
       ]

    いいえ

    Status code (状況コード)

    エラー応答の状況コード (​Status Code (状況コード) = 500​ など)。

    いいえ

    理由を示す語句

    エラーの理由 (​[Gateway Timeout (ゲートウェイがタイムアウトしました)]​ や ​Internal Server Error (内部サーバーエラー)​ など)。

    いいえ

リスナー設定属性についての詳細は、​「リスナー設定」​を参照してください。

スケジューラーの設定

Scheduler により、固定の頻度、または Cron 式に基づいた間隔でスケジュール戦略が設定されます。

Mule アプリケーションに Scheduler を追加するときは、次の点を考慮してください。

  • Scheduler は、Mule が動作しているマシンと同じタイムゾーンを使用します。ただし、アプリケーションが CloudHub で動作している場合は、アプリケーションが動作している地理的リージョンに関係なく、Scheduler は UTC タイムゾーンに準拠します。

    Scheduler に別のタイムゾーンを設定するには、​Cron スケジュール戦略属性​の ​timeZone​ を参照してください。

  • disallowConcurrentExecution​ プロパティを使用すると、以前にトリガーされた実行の処理中に Scheduler でフローの実行がトリガーできないようにできます。

  • スケジュールされたトリガー時に利用できるリソースが 1 つもないために ​back-pressure​ が発生した場合、その実行はスキップされます。

  • Mule Runtime Engine クラスターやマルチワーカー CloudHub デプロイメントでは、Scheduler はプライマリノードのみで (つまり 1 つの Mule インスタンスのみで) 実行されます。

<scheduler doc:name="Scheduler" doc:id="snswxf" >
  <scheduling-strategy/>
</scheduler>

Scheduler (​<scheduler/>​) 属性は UI および XML で設定できます。

属性名 属性 XML 説明

Scheduler (スケジューラー)​ (デフォルト)

doc:name

キャンバスに表示されるコンポーネントの編集可能な名前。

なし

doc:id

コンポーネントの自動生成された識別子。

Disallow concurrent execution (同時実行を禁止)

disallowConcurrentExecution

この属性を ​true​ に設定すると、Scheduler は前の実行がまだ処理中であればスケジュールされた実行をスキップします。フローが完了すると、Scheduler は次に設定された間隔で実行されます。デフォルト値は ​false​ です。

一定間隔属性

Scheduler では、次の属性を受け入れる一定間隔 (​<fixed-frequency/>​) 要素を受け入れます。

属性名 属性 XML 説明

なし

frequency

指定された ​timeUnit​ 設定で Scheduler がフローをトリガーする頻度。デフォルトは ​1000​ です。

なし

startDelay

アプリケーションが起動した後で Scheduler の最初の実行を遅延する時間。このプロパティでは頻度と同じ ​timeUnit​ を使用します。デフォルトは ​0​ です。

なし

timeUnit

frequency​ と ​startDelay​ の値の次のいずれかの時間単位: MILLISECONDS (ミリ秒)​、​SECONDS (秒)​、​MINUTES (分)​、​HOURS (時)​、または ​DAYS (日)​。デフォルトは ​MILLISECONDS (ミリ秒)​ です。

一定間隔の例​を参照してください。

Cron 属性

より複雑なスケジューリングの場合、​<cron/>​ 要素で Cron 式を設定します。

属性名 属性 XML 説明

なし

expression

Scheduler をトリガーする Cron 式。デフォルトの Cron 式はありません。式の詳細は、​Cron 式​を参照してください。例: expression="1 1 1 1,7 * ?"​。

なし

timeZone

システムプロパティとして渡されるタイムゾーン、またはマシンのオペレーティングシステムで設定されているタイムゾーン。 Java のタイムゾーン​の値がサポートされます。Java の短縮表記 (​PST​ や ​AGT​) は使用せず、Java の完全表記 (​America/Los_Angeles​ など) を使用してください。例: timeZone="America/Argentina/Buenos_Aires"​。

Cron の例​を参照してください。

一定間隔の例

次の例では、Scheduler は 15 秒ごとに実行されます。

<flow name="ex-fixed-frequency-flow" >
  <scheduler doc:name="Scheduler">
    <scheduling-strategy>
      <fixed-frequency frequency="15" timeUnit="SECONDS" />
    </scheduling-strategy>
  </scheduler>
  <!-- One or more processors here. -->
</flow>

次の例では、Scheduler はフローが完了までに要する時間が固定の頻度である 10 ミリ秒を超えると実行をスキップします。

<flow name="scheduler-disallowConcurrentExecution-ex" >
  <scheduler doc:name="Scheduler" disallowConcurrentExecution="true" >
    <scheduling-strategy>
      <fixed-frequency frequency="10" timeUnit="MILLISECONDS"/>
    </scheduling-strategy>
  </scheduler>
  <!-- processors here -->
</flow>

Scheduler が実行をスキップするたびに、たとえば次のような ​Execution skipped​ メッセージがログに記録されます (読みやすいように編集済み)。

INFO  2022-11-09 15:15:43,082 ...
...scheduler.DefaultSchedulerMessageSource:
Flow 'scheduler-disallowConcurrentExecution-ex' is already running and
'disallowConcurrentExecution' is set to 'true'. Execution skipped.

INFO  2022-11-09 15:15:43,083 ...
...scheduler.DefaultSchedulerMessageSource:
Flow 'scheduler-disallowConcurrentExecution-ex' is already running and
'disallowConcurrentExecution' is set to 'true'. Execution skipped.

次の例は、最初の 10 秒の遅延後、10 秒ごとに Scheduler を実行する一定間隔のスケジュール戦略を示しています。

<scheduler doc:name="Scheduler" >
  <scheduling-strategy >
    <fixed-frequency frequency="10" timeUnit="SECONDS" startDelay="10"/>
  </scheduling-strategy>
</scheduler>

Cron の例

次の例では、15 秒ごとにフローが新たに実行され、Mule メッセージの生成がトリガーされる Cron 式を使用します。

<flow name="ex-cron-expression-flow" >
  <scheduler doc:name="Scheduler" >
    <scheduling-strategy >
      <cron expression='0/15 * * * * ? '/>
    </scheduling-strategy>
  </scheduler>
  <!-- One or more processors here. -->
</flow>

次の例では、​America/Los_Angeles​ タイムゾーンで毎日 12 時 00 分にフローをトリガーする Cron 式を使用します。

<flow name="componentsFlow">
  <scheduler>
    <scheduling-strategy>
      <cron expression="0 0 12 * * ?" timeZone="America/Los_Angeles"/>
    </scheduling-strategy>
  </scheduler>
  <logger message="my message"/>
</flow>

Cron 式

Cron は、日時情報を記述するのに広く利用されている標準です。Cron 式 (​<cron expression />​ スケジュール戦略 (​<scheduling-strategy >​) は、固定頻度スケジュール戦略では不可能な間隔でフローをトリガーする場合に便利です。

Scheduler は、毎秒を監視し、Quartz Cron 式が日時の設定と一致すると Mule イベントを作成します。イベントは 1 回だけ、または一定間隔でトリガーできます。

日時の式は、6 つの必須設定と、年の設定 (省略可能) で構成されます。設定は以下の順序で指定します。

  1. 秒 (​0​-​59​)

  2. 分 (​0​-​59​)

  3. 時 (​0​-​23​)

  4. 日 (​1​-​31​)

  5. 月 (​1​-​12​ または ​JAN​-​DEC​)

  6. 曜日 (​1​-​7​ or ​SUN​-​SAT​)

  7. 年 (空白、または ​1970​-​2099​ の範囲内の 4 桁。例: 2019​)

Scheduler は Quartz Cron 式をサポートします。例をいくつか示します。

動作

1/2 * * * * ?

毎日 2 秒おきに実行。

0 15 10 ? * *

毎日午前 10 時 15 分に実行。 0 15 10 * * ? ` と ​0 15 10 *​`0 15 10 * * ?​ は同じ結果になります。

0 15 10 * * ? 2019

2019 年の毎日午前 10 時 15 分に実行。

0 * 14 * * ?

毎日午後 2 時から 2 時 59 分まで、毎分実行。

0 0/5 14 * * ?

毎日午後 2 時から 2 時 55 分まで、5 分おきに実行。

1 1 1 1,7 * ?

毎月 1 日と 7 日の午前 1 時 1 分 1 秒に実行。

Scheduler コンポーネントは、Quartz Scheduler の特殊文字もサポートします。

  • *​: すべての値。

  • ?​: 任意の 1 つの値。

  • -​: 値の範囲。例: 1-3​。

  • ,​: 追加の値。例: 1,7​。

  • /​: 増分値。例: 1/7​。

  • L​: 週または月の最終日、または月の最後の特定の曜日 (例: 6L​ は月の最後の土曜日)。

  • W​: 平日。月または曜日の項目で有効。

  • #​: 月の "n" 日目。例: #3​ は月の 3 日。

次の例は、「hello」というメッセージを毎秒ログに記録します。

<flow name="cronFlow" >
  <scheduler doc:name="Scheduler" >
    <scheduling-strategy >
      <cron expression="* * * * * ?" />
    </scheduling-strategy>
  </scheduler>
  <logger level="INFO" doc:name="Logger" message='"hello"'/>
</flow>

Cron 式をビルドするための無料のオンラインツールがたくさんあります。

コネクタ固有のトリガーの使用

コネクタにトリガーが関連付けられている場合、コネクタ固有のトリガーを使用してフローを開始できます。各コネクタトリガーには、固有の設定があります。

たとえば、次のトリガーのいずれかを Salesforce Connector で使用するように設定できます。

  • On Deleted Object

    Salesforce ユーザーがオブジェクトを削除した時点でアプリケーションを開始します。​Contact​、​Lead​、​Account​、​Contracts​、​Opportunity​ のオブジェクト種別、またはカスタムオブジェクト名を指定できます。

  • On Modified Object

    Salesforce ユーザーがオブジェクトを変更した時点でアプリケーションを開始します。​Contact​、​Lead​、​Account​、​Contracts​、​Opportunity​ のオブジェクト種別、またはカスタムオブジェクト名を指定できます。

  • On New Object

    Salesforce ユーザーがオブジェクトを作成した時点でアプリケーションを開始します。​Contact​、​Lead​、​Account​、​Contracts​、​Opportunity​ のオブジェクト種別、またはカスタムオブジェクト名を指定できます。

  • Replay channel listener

    ストリーミングチャネルをサブスクライブします。このソースでは、24 時間の保持期間内の新規イベントおよび Salesforce で保存されたイベントについてチャネル関連の通知設定が提供されます。指定されたチャネルソースでイベントが発生するとフローがトリガーされます。

  • Replay topic listener

    トピックをサブスクライブします。このソースでは、24 時間の保持期間内の新規イベントおよび Salesforce で保存されたイベントについてトピック関連の通知設定が提供されます。レコードの指定されたトピックでイベントが発生するとフローがトリガーされます。

  • Subscribe channel listener

    ストリーミングチャネルをサブスクライブします。このソースでは、サブスクライブ後に発生した新規イベントについてチャネル関連の通知設定が提供されます。

  • Subscribe topic listener

    トピックをサブスクライブします。このソースでは、サブスクライブ後に発生した新規イベントについてトピック関連の通知設定が提供されます。

チャネルのサブスクリプションを作成する前に、チャネルまたはトピックを Salesforce にパブリッシュする必要があります。

たとえば、​On New Object​ ソースを設定する手順は、次のとおりです。

  1. [On New Object]​ コンポーネントをキャンバスに追加します。

  2. キャンバスで ​[On New Object]​ コンポーネントをクリックします。

  3. [General (一般)]​ タブで、使用する設定ファイルを選択し、次の属性を設定します。

    属性 説明 必須

    Object type (オブジェクト種別)

    Salesforce オブジェクトの種別。

    はい

    Triggers query (トリガーのクエリ)

    トリガー結果を絞り込むクエリ (例: Name='Filter'​)。

    いいえ

    Since (以降)

    YYYY-MM-DD hh:mm:ss​ 形式の日付 (例: 2017-03-17 16:30:40​)。この項目が空の場合、このソースは選択されたオブジェクトを Mule アプリケーションが開始した時刻から取得します。

    いいえ

    Scheduling strategy (スケジュール戦略)

    時間ベースの条件に基づいてフローの実行をトリガーします。この属性は現在設定 UI で有効になっていません。XML エディターで設定してください。​スケジューラーの設定​ を参照してください。

    はい

  4. [Advanced (詳細)]​ タブを選択して、次の属性を設定します。

    属性 説明 必須

    Primary node only (プライマリノードのみ)

    選択すると、アプリケーションがクラスターで実行されるときに ​On New Object​ トリガーがプライマリノード上でのみ実行されます。

    いいえ

    Redelivery policy (再配信ポリシー)

    この属性は現在設定 UI で有効になっていません。XML エディターで設定してください。​「Redelivery Policy (再配信ポリシー)」​を参照してください。

    いいえ

    Read timeout (読み取りタイムアウト)

    コンシューマーがタイムアウトする前に応答を待機する時間。

    いいえ

    Time unit (時間単位)

    [Read timeout (読み取りタイムアウト)]​ 属性の時間単位。Enumeration (列挙)。次のいずれかになります。

    • NANOSECONDS (ナノ秒)

    • MICROSECONDS (マイクロ秒)

    • MILLISECONDS (ミリ秒)

    • SECONDS (秒)

    • MINUTES (分)

    • HOURS (時間)

    • DAYS (日)

    いいえ

    Reconnection strategy (再接続戦略)

    この属性は現在設定 UI で有効になっていません。XML エディターで設定してください。​「Reconnect (再接続)」​、​「Reconnect Forever (繰り返し再接続)」​、および​XML での再接続戦略の設定​を参照してください。

    いいえ

コンポーネント属性を設定する

コンポーネントをインテグレーションプロジェクトに追加したら、コンポーネント UI で属性を設定するか、XML コードエディターで直接属性を設定します。

コネクタ XML タグは、名前空間で始まり操作が続く、構文 ​namespace:operation​ に従います。たとえば、データベース用 Anypoint Connector (Database Connector) の ​Select​ 操作の場合、​<db:select/>​ となります。

XML でのコネクタの設定

XML で Mule アプリケーションを手動でコーディングすることもできますが、Anypoint Code Builder を使用した方が効率的です。

  • Anypoint Code Builder XML エディターから Mule Runtime Engine (Mule) アプリケーションを手動でコーディングする場合、参照ステートメントを XML Mule フローと Apache Maven ​pom.xml​ ファイルの両方に追加することで、アプリケーションからコネクタにアクセスできます。

  • Anypoint Code Builder でコネクタを追加すると、Studio は自動的に XML コードにコネクタの名前空間およびスキーマの場所を入力し、​pom.xml​ ファイルに連動関係を追加します。

次の例は、​<mule>​ XML ブロック内に名前空間ステートメントが配置される方法を示しています。

<mule xmlns:{lc-connector-name}="http://www.mulesoft.org/schema/mule/{lc-connector-name}"
	xmlns:ee="http://www.mulesoft.org/schema/mule/ee/core"
	xmlns:http="http://www.mulesoft.org/schema/mule/http"
	xmlns:file="http://www.mulesoft.org/schema/mule/file"
	xmlns="http://www.mulesoft.org/schema/mule/core"
	xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.mulesoft.org/schema/mule/core
	http://www.mulesoft.org/schema/mule/core/current/mule.xsd
	http://www.mulesoft.org/schema/mule/file
	http://www.mulesoft.org/schema/mule/file/current/mule-file.xsd
	http://www.mulesoft.org/schema/mule/http
	http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
	http://www.mulesoft.org/schema/mule/ee/core
	http://www.mulesoft.org/schema/mule/ee/core/current/mule-ee.xsd
	http://www.mulesoft.org/schema/mule/{lc-connector-name}
	http://www.mulesoft.org/schema/mule/{lc-connector-name}/current/mule-{lc-connector-name}.xsd">

Apache Maven ​pom.xml​ ファイルは Anypoint Code Builder によって生成され、Mule アプリケーションの連動関係が含まれます。Mule アプリケーションを手動でコーディングする場合、次の XML スニペットを ​pom.xml​ ファイルに含めてこのコネクタにアクセスできるようにします:

<dependency>
  <groupId>{group-id-exchange}</groupId>
  <artifactId>{artifact-id-exchange}</artifactId>
  <version>x.x.x</version>
  <classifier>mule-plugin</classifier>
</dependency>

x.x.x​ を使用しているコネクタに対応するバージョンに置き換えます。

最新の ​pom.xml​ ファイル情報を取得する手順は、次のとおりです。

  1. Anypoint Exchange​ に移動します。

  2. Exchange で、​[Login (ログイン)]​ をクリックし、Anypoint Platform のユーザー名とパスワードを指定します。

  3. Exchange で、コネクタを検索します。

  4. コネクタを選択します。

  5. [Dependency Snippets (連動関係スニペット)]​ をクリックします。

XML でのストリーミング戦略の設定

ストリーミング戦略を使用して、Mule によるストリームの処理方法を設定できます。

ファイルに格納された反復可能ストリーム

1 MB のバッファで設定されているファイルの読み取りの XML の例を次に示します。

<file:read path="bigFile.json">
  <repeatable-file-store-stream
    inMemorySize="1"
    bufferUnit="MB"/>
</file:read>

一貫して 10 KB 以下のファイルを処理する場合、​inMemorySize​ 属性を減らしてメモリを節約できます。

<file:read path="smallFile.json">
  <repeatable-file-store-stream
    inMemorySize="10"
    bufferUnit="KB"/>
 </file:read>

メモリ内の反復可能ストリーム

次の XML の例は、初期サイズが 512 KB、拡張単位が 256 KB、そしてメモリに読み込めるコンテンツの最大サイズが 2000 KB (2 MB) のメモリ内の反復可能ストリームを示しています。

<file:read path="exampleFile.json">
  <repeatable-in-memory-stream
    initialBufferSize="512"
    bufferSizeIncrement="256"
    maxInMemorySize="2000"
    bufferUnit="KB"/>
</file:read>

XML での再接続戦略の設定

標準再接続戦略の XML の例を次に示します。失敗までの再接続試行回数を ​5​ に設定し、接続テストが失敗した場合にはアプリケーションのデプロイメントも失敗するように ​failsDeployment​ を true に設定します。頻度が指定されていないため、デフォルトの 2000 ms ごとに接続が再試行されます。

<db:config name="Database_Config" doc:name="Database Config" doc:id="79ae8d0f-e0af-4901-961d-b80befbf3f86" >
	<db:data-source-connection >
		<reconnection failsDeployment="true" >
           <reconnect count="5"/>
        </reconnection>
	</db:data-source-connection>
</db:config>

繰り返し再接続戦略の XML の例を次に示します。コネクタは、アプリケーションが実行されている限り、4000 ms ごとに接続を再試行します。

<db:config name="Database_Config1" doc:name="Database Config" doc:id="c0aaf1dd-ab6e-49ee-9e4d-8b5799945cc9">
    <db:data-source-connection>
        <reconnection failsDeployment="true">
            <reconnection>
                <reconnect-forever frequency="4000"/>
            </reconnection>
        </reconnection>
    </db:data-source-connection>
</db:config>