Flex Gateway新着情報
Governance新着情報
Monitoring API ManagerAnypoint Code Builder を使用してコネクタを設定する手順は、次のとおりです。
Anypoint Code Builder で基本インテグレーションプロジェクトを作成します。
ビジネスロジックを処理する Mule アプリケーションにコネクタを追加し、他のコンポーネントも追加します。
インテグレーションプロジェクトを作成する前に、次の作業を行う必要があります。
コネクタの API にアクセスするためのログイン情報を用意します。
コネクタを使用するには、以下に精通している必要があります。
コネクタの API
Anypoint Connector
Mule Runtime Engine (Mule)
前提条件を満たしたら、Anypoint Code Builder でアプリケーションを作成してコネクタを設定できます。
IDE のアクティビティバーで、 (Anypoint Code Builder) アイコンをクリックします。
[Quick Actions (クイックアクション)] から [Develop an Integration (インテグレーションを開発)] をクリックします。
セクション内で強調表示されている [Develop an Integration (インテグレーションを開発)]リンク"]
[Develop an Integration (インテグレーションを開発)] フォームに入力します。
属性 | 値 |
---|---|
Project Name (プロジェクト名) |
プロジェクトの一意の名前。 この名前はタイトルおよびインテグレーションプロジェクトファイルの名前として使用されます。
たとえば、プロジェクト名が「Salesforce Integration」 (Salesforce インテグレーション) の場合、プロジェクトファイル名は |
Project Location (プロジェクトの場所) |
ホームディレクトリまたは作成する別のディレクトリ。インテグレーションプロジェクト用の別のディレクトリを選択するには、[Browse (参照)] をクリックします。 別のプロジェクトディレクトリ内にプロジェクトを作成しないでください。 ホームディレクトリへのフォルダーの追加を参照してください。 |
[Create Project (プロジェクトを作成)] をクリックします。
Anypoint Connector では、システムからのデータの取得、データの変更、システムへのデータの送信を行うための操作が提供されます。
Anypoint Code Builder で提供される組み込みコネクタに加えて、ユーザーは Anypoint Exchange から他の多くのコネクタをダウンロードできます。
Exchange からコネクタをインポートして設定に追加する手順は、次のとおりです。
[Explorer] ビューで、目的のプロジェクトの設定 XML ファイル (my-project-name.xml
など) を開きます。
キャンバス UI が自動的に開かない場合は、アクティビティバーの (Show Mule graphical mode (Mule グラフィカルモードを表示)) アイコンをクリックしてキャンバス UI を開きます。
キャンバス UI から他のコンポーネントを追加した方法と同じ方法でコネクタを追加します。
キャンバス UI で ([Add component (コンポーネントを追加)]) アイコンをクリックします。
[Add Component (コンポーネントを追加)] パネルで [Connectors (コネクタ)] をクリックします。
コネクタ名をクリックし、追加する操作 (Publish など) をクリックします。
操作"]
コネクタをローカルで使用できない場合、 ([Search in Exchange (Exchange 内を検索)]) 切り替えをクリックします。
切り替え"]
1 | Search locally (ローカルで検索) |
2 | Search in Exchange (Exchange 内を検索) |
プロジェクトに追加するコネクタを選択します。
[Add Component (コンポーネントを追加)] パネルから操作を選択します。
コネクタをインテグレーションプロジェクトに追加しても、Anypoint Code Builder ワークスペースの他のプロジェクトはそのコネクタを使用できません。
設定ファイルは、別の設定を参照したり、コネクタのプロパティの値を指定したりする YAML ファイルです。アプリケーションをデプロイする環境に基づいて設定プロパティを定義します。
[Explorer] ビューで resources フォルダー (src/main/resources
) を右クリックして [New File (新規ファイル)] を選択します。
ファイルに config.yaml
という名前を付けます。
コネクタに接続するために必要な接続プロパティをファイルに入力します。Salesforce、Gmail、Slack の接続プロパティの例を次に示します。
salesforce:
username: "yourUserName"
password: "yourPassword"
token: "yourToken"
email:
host: "smtp.gmail.com"
username: "yourGmailEmail"
password: "yourEmailAppPassword"
slack:
token: "yourSlackToken"
プロジェクト XML に移動し、</mule>
タグの前に新しい行を追加し、「configuration」
と入力して mule:configurationProperties を選択します。
属性をスクロールして、file
の値を config.yaml
に設定します。
<configuration-properties file="config.yaml" doc:name="Configuration properties" />
config.yaml
ファイルの値を使用して、Salesforce Connector を Salesforce 環境に接続します。
プロジェクト XML ファイルで、<configuration-properties/>
要素の後に新しい行を作成し、「salesforce」
と入力して salesforce:sfdc-config を選択します。
[name (名前)] 項目を [Salesforce-Config]
に設定します。
新しい行を作成し、「basic」
と入力して Salesforce。Basic を選択します。
設定ファイル値を使用するように username
および password
プロパティを設定します。
<salesforce:basic-connection username="${salesforce.username}" password="${salesforce.password}" securityToken="${salesforce.token}" />
|
<salesforce:sfdc-config/>
要素の [Test Connection (接続をテスト)] をクリックして、Salesforce への接続を検証します。
Anypoint Code Builder で [Connection is valid (接続は有効)] メッセージが返されます。
エラーを取得した場合、エラーメッセージを確認してさらにトラブルシューティングします。詳細は、「トラブルシューティング」を参照してください。
トリガー (ソース) は、指定された条件が満たされたときにフローを開始します。コネクタに独自のソースが関連付けられている場合、コネクタ固有のトリガーを使用してフローを開始できます。各コネクタトリガーには、固有の設定があります。
HTTP リスナーをフローのトリガーとして使用する手順は、次のとおりです。
キャンバスで [Listener] コンポーネントをクリックします。
(省略可能) 編集アイコンをクリックして、[Listener] コンポーネントの名前を変更します。
(省略可能) コネクタの設定ファイルを作成した場合はそれを選択します。
[General (一般)] タブの [Path (パス)] 項目に、HTTP 設定要素で設定されたパスの相対パスを入力します。「パスの設定」を参照してください。
[Advanced (詳細)] タブを選択して、次の属性を設定します。
属性 | 説明 | 必須 |
---|---|---|
Allowed methods (許可されるメソッド) |
すべての HTTP メソッドを許可する (デフォルト) 場合は、この属性を定義しないでください。特定のメソッドを制限するには、許可される HTTP メソッドをカンマ区切り形式で指定します (例: |
いいえ |
Response streaming mode (応答ストリーミングモード) |
応答の送信時にストリーミングを使用するかどうか。HTTP Connector は、レスポンスボディの管理時に本文のサイズが明らかではない場合、送信するデータの種類を考慮し、chunked エンコードを使用します。これによりサイズ情報のないストリームとなります。この動作を制御するには、次のいずれかのオプションを選択します。
|
いいえ |
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 (ヘッダー) |
エラーメッセージに含めるヘッダー。各ヘッダー属性は、等号 (=) で区切られたキー-値のペアになっています。次に例を示します。
|
いいえ |
Status code (状況コード) |
エラー応答の状況コード ( |
いいえ |
理由を示す語句 |
エラーの理由 ( |
いいえ |
リスナー設定属性についての詳細は、「リスナー設定」を参照してください。
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 (スケジューラー) (デフォルト) |
|
キャンバスに表示されるコンポーネントの編集可能な名前。 |
なし |
|
コンポーネントの自動生成された識別子。 |
Disallow concurrent execution (同時実行を禁止) |
|
この属性を |
Scheduler では、次の属性を受け入れる一定間隔 (<fixed-frequency/>
) 要素を受け入れます。
属性名 | 属性 XML | 説明 |
---|---|---|
なし |
|
指定された |
なし |
|
アプリケーションが起動した後で Scheduler の最初の実行を遅延する時間。このプロパティでは頻度と同じ |
なし |
|
|
一定間隔の例を参照してください。
より複雑なスケジューリングの場合、<cron/>
要素で Cron 式を設定します。
属性名 | 属性 XML | 説明 |
---|---|---|
なし |
|
Scheduler をトリガーする Cron 式。デフォルトの Cron 式はありません。式の詳細は、Cron 式を参照してください。例: |
なし |
|
システムプロパティとして渡されるタイムゾーン、またはマシンのオペレーティングシステムで設定されているタイムゾーン。 Java のタイムゾーンの値がサポートされます。Java の短縮表記 ( |
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>
次の例では、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 expression />
スケジュール戦略 (<scheduling-strategy >
) は、固定頻度スケジュール戦略では不可能な間隔でフローをトリガーする場合に便利です。
Scheduler は、毎秒を監視し、Quartz Cron 式が日時の設定と一致すると Mule イベントを作成します。イベントは 1 回だけ、または一定間隔でトリガーできます。
日時の式は、6 つの必須設定と、年の設定 (省略可能) で構成されます。設定は以下の順序で指定します。
秒 (0
-59
)
分 (0
-59
)
時 (0
-23
)
日 (1
-31
)
月 (1
-12
または JAN
-DEC
)
曜日 (1
-7
or SUN
-SAT
)
年 (空白、または 1970
-2099
の範囲内の 4 桁。例: 2019
)
Scheduler は Quartz Cron 式をサポートします。例をいくつか示します。
式 | 動作 |
---|---|
|
毎日 2 秒おきに実行。 |
|
毎日午前 10 時 15 分に実行。 |
|
2019 年の毎日午前 10 時 15 分に実行。 |
|
毎日午後 2 時から 2 時 59 分まで、毎分実行。 |
|
毎日午後 2 時から 2 時 55 分まで、5 分おきに実行。 |
|
毎月 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 ソースを設定する手順は、次のとおりです。
[On New Object] コンポーネントをキャンバスに追加します。
キャンバスで [On New Object] コンポーネントをクリックします。
[General (一般)] タブで、使用する設定ファイルを選択し、次の属性を設定します。
属性 | 説明 | 必須 |
---|---|---|
Object type (オブジェクト種別) |
Salesforce オブジェクトの種別。 |
はい |
Triggers query (トリガーのクエリ) |
トリガー結果を絞り込むクエリ (例: |
いいえ |
Since (以降) |
|
いいえ |
Scheduling strategy (スケジュール戦略) |
時間ベースの条件に基づいてフローの実行をトリガーします。この属性は現在設定 UI で有効になっていません。XML エディターで設定してください。スケジューラーの設定 を参照してください。 |
はい |
[Advanced (詳細)] タブを選択して、次の属性を設定します。
属性 | 説明 | 必須 |
---|---|---|
Primary node only (プライマリノードのみ) |
選択すると、アプリケーションがクラスターで実行されるときに On New Object トリガーがプライマリノード上でのみ実行されます。 |
いいえ |
Redelivery policy (再配信ポリシー) |
この属性は現在設定 UI で有効になっていません。XML エディターで設定してください。「Redelivery Policy (再配信ポリシー)」を参照してください。 |
いいえ |
Read timeout (読み取りタイムアウト) |
コンシューマーがタイムアウトする前に応答を待機する時間。 |
いいえ |
Time unit (時間単位) |
[Read timeout (読み取りタイムアウト)] 属性の時間単位。Enumeration (列挙)。次のいずれかになります。
|
いいえ |
Reconnection strategy (再接続戦略) |
この属性は現在設定 UI で有効になっていません。XML エディターで設定してください。「Reconnect (再接続)」、「Reconnect Forever (繰り返し再接続)」、およびXML での再接続戦略の設定を参照してください。 |
いいえ |
コンポーネントをインテグレーションプロジェクトに追加したら、コンポーネント UI で属性を設定するか、XML コードエディターで直接属性を設定します。
コネクタ XML タグは、名前空間で始まり操作が続く、構文 namespace:operation
に従います。たとえば、データベース用 Anypoint Connector (Database Connector) の Select 操作の場合、<db:select/>
となります。
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
ファイル情報を取得する手順は、次のとおりです。
Anypoint Exchange に移動します。
Exchange で、[Login (ログイン)] をクリックし、Anypoint Platform のユーザー名とパスワードを指定します。
Exchange で、コネクタを検索します。
コネクタを選択します。
[Dependency Snippets (連動関係スニペット)] をクリックします。
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 の例を次に示します。失敗までの再接続試行回数を 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>