Flex Gateway新着情報
Governance新着情報
Monitoring API ManagerAnypoint Studio (Studio) エディターは、Mule アプリケーション、プロパティ、および設定ファイルの設計と更新に役立ちます。
Studio でコネクタを追加および設定する手順は、次のとおりです。
Studio で初めてコネクタを設定する場合は、「Anypoint Studio を使用したコネクタの設定」を参照してください。このトピックを参照した後、コネクタ項目についての詳細情報が必要な場合は、「Sockets Connector リファレンス」を参照してください。
Studio で、コネクタを追加および設定する新しい Mule プロジェクトを作成します。
Studio で、[File (ファイル)] > [New (新規)] > [Mule Project (Mule プロジェクト)] を選択します。
Mule プロジェクトの名前を入力して、[Finish (完了)] をクリックします。
ソケット用 Anypoint Connector (Sockets Connector) を Mule プロジェクトに追加して、XML コードにコネクタの名前空間およびスキーマの場所を自動的に入力し、プロジェクトの pom.xml
ファイルに必須の連動関係を追加します。
[Mule Palette (Mule パレット)] ビューで、[(X) Search in Exchange ((X) Exchange 内を検索)] をクリックします。
[Add Dependencies to Project (連動関係をプロジェクトに追加)] ビューで、検索項目に「sockets
」と入力します。
[Available modules (使用可能なモジュール)] で、[Sockets (ソケット)] をクリックします。
[Add (追加)] をクリックします。
[Finish (完了)] をクリックします。
Studio でコネクタを Mule プロジェクトに追加しても、Studio ワークスペースの他のプロジェクトはそのコネクタを使用できません。
ソースは、指定された条件が満たされたときにフローを開始します。ソケットリスナーソースは、クライアントが接続できるソケットエンドポイントを表します。このエンドポイントを参照して、外部クライアントは TCP または UDP ソケット接続を確立し、メッセージを送信するたびにフローをトリガーします。
[Mule Palette (Mule パレット)] ビューで、[Sockets (ソケット)] > [Listener (リスナー)] を選択します。
[Listener] を Studio キャンバスにドラッグします。
[Listener (リスナー)] 設定画面で、必要に応じて [Display Name (表示名)] 項目の値を変更します。
[Connector configuration (コネクタ設定)] 項目の横にあるプラス記号 (+) をクリックして、アプリケーション内のすべての sockets listener
インスタンスで使用できるグローバル要素を設定します。
[General (一般)] タブの [Connection (接続)] で、Tcp listener
接続または Udp listener
接続を選択します。
選択した接続に応じたタブを設定します。
タブ名 | 説明 |
---|---|
General (一般) |
必須の [Host (ホスト)] 属性および [Port (ポート)] 属性を設定し、その他の省略可能な項目を設定します。 |
Buffer Configuration (バッファ設定) |
必要に応じて、送受信のバッファサイズ情報を指定します。 |
TLS |
必要に応じて、TLS 情報を指定します。 |
Timeout Configuration (タイムアウト設定) |
必要に応じて、クライアントとサーバーのタイムアウト情報を指定します。 |
Advanced (詳細) |
必要に応じて、再接続戦略を含む再接続情報を指定します。 |
[Test Connection (接続をテスト)] をクリックして、Mule が特定のサーバーに接続できることを確認します。
[OK] をクリックします。
Studio でのフローのソケットリスナーソースは次のようになります。
Studio でのポート 8082
でローカル着信接続を受け入れるための TCP 接続を使用したソケットリスナーソースの設定は次のようになります。
[Configuration XML (設定 XML)] タブでは、XML は次のように記述されます。
<sockets:listener-config name="Sockets_Listener_config">
<sockets:tcp-listener-connection host="localhost" port="8082" />
</sockets:listener-config>
<flow name="SocketsFlow" >
<sockets:listene config-ref="Sockets_Listener_config"/>
</flow>
xml
フローにコネクタの操作を追加すると、そのコネクタで実行する特定の操作をすぐに定義できます。Sockets Connector は、2 つの基本操作を提供します。
Send
RequesterConnection に関連付けられているクライアントを使用してデータを送信します。
Send and receive
関連付けられているクライアントを使用してデータを送信した後、応答を受信するまで、またはタイムアウトになるまで (この場合、null ペイロードが返される) ブロックします。
Send 操作または Send and Receive 操作を設定する手順は、次のとおりです。
[Mule Palette (Mule パレット)] ビューで、次のいずれかを選択します。
[Sockets (ソケット)] > [Send]。
[Sockets (ソケット)] > [Send and receive]。
[Send] 操作または [Send and receive] 操作を Studio キャンバスにドラッグします。
操作設定画面で、必要に応じて [Display Name (表示名)] 項目の値を変更します。
[Connector configuration (コネクタ設定)] 項目の横にあるプラス記号 (+) をクリックして、アプリケーション内の Sockets Send
または Sockets Send and receive
のすべてのインスタンスで使用できるグローバル要素を設定します。
[General (一般)] タブの [Connection (接続)] で、Tcp requester
接続または Udp requester
接続を選択します。
選択した接続に応じたタブを設定します。
タブ名 | 説明 |
---|---|
General (一般) |
必須の [Host (ホスト)] 属性および [Port (ポート)] 属性を設定し、必要に応じて省略可能な項目を設定します。 |
Buffer Configuration (バッファ設定) |
必要に応じて、送受信のバッファサイズ情報を指定します。 |
Connection (接続) |
必要に応じて、サポートされる TCP プロトコルのいずれかを選択して設定します。 |
Local Address Settings (ローカルアドレス設定) |
必要に応じて、ローカルアドレスを指定します。 |
TLS |
必要に応じて、TLS 情報を指定します。 |
Timeout Configuration (タイムアウト設定) |
必要に応じて、クライアントとサーバーのタイムアウト情報を指定します。 |
Advanced (詳細) |
必要に応じて、再接続戦略を含む再接続情報を指定します。 |
[Test Connection (接続をテスト)] をクリックして、Mule が特定のサーバーに接続できることを確認します。
[OK] をクリックします。
さらに、Send and receive 操作の場合は、次のように MIME タイプを設定します。
フローで [Send and receive] 操作をクリックします。
[MIME Type (MIME タイプ)] タブで、項目メニューから MIME タイプを選択します。
Studio での Sockets Send 操作および Send and receive 操作は次のようになります。
Studio でのポート 8082
でローカル着信接続を受け入れるための TCP 接続を使用した Send 操作または Send and receive 操作の設定は次のようになります。
[Configuration XML (設定 XML)] タブでは、Send 操作設定の XML は次のように記述されます。
<sockets:request-config name="Sockets_Send_config">
<sockets:tcp-requester-connection host="localhost" port="8082" />
</sockets:request-config>
<flow name="SocketsFlow" >
<sockets:send config-ref="Sockets_Send_config"/>
</flow>
xml
Studio での Send and receive 操作の application/json
としての MIME タイプの設定は次のようになります。
[Configuration XML (設定 XML)] タブでは、Send and receive 操作設定の XML は次のように記述されます。
<sockets:request-config name="Sockets_Send_config">
<sockets:tcp-requester-connection host="localhost" port="8082" />
</sockets:request-config>
<flow name="SocketsFlow" >
<sockets:send-and-receive config-ref="Sockets_Send_Receive_config" outputMimeType="application/json"/>
</flow>
xml
Sockets Connector では、TCP 上で実装されるアプリケーションレベルプロトコルをサポートしています。これらのプロトコルを適切に機能させるには、クライアント側とサーバー側の両方に実装する必要があります。
デフォルトでは、Sockets Connector では安全なプロトコルを実装しますが、Anypoint Studio と XML の両方でコネクタ操作用に異なるプロトコルを設定できます。
次のような TCP プロトコルがサポートされています。
Direct Protocol (ダイレクトプロトコル)
ソケットは、現時点で利用できるバイトがなくなるまで読み込みます。遅いネットワークでは、EOFProtocol
や LengthProtocol
の方が信頼性が高くなる場合があります。
EOF Protocol (EOF プロトコル)
読み込みは、クライアントがストリームを閉じることで終了します。
Length Protocol (長さのプロトコル)
このプロトコルは、整数 (パケット長) と転送するデータを送信する、または読み取ることによって定義されます。
Custom Class Loading Length Protocol (カスタムクラス読み込み長のプロトコル)
特定のクラスローダーを使用してストリームからオブジェクトを読み込む長さのプロトコル。
Safe Protocol (安全なプロトコル)
すべてのメッセージの前に Cookie を付けるテストプロトコルであり、本番環境では使用できません。
Streaming Protocol (ストリーミングプロトコル)
ソケットの Send 操作が元の InputStream
をペイロードとしたメッセージを返せるようにします。
XML Message Protocol (XML メッセージプロトコル)
このプロトコルは、ストリーミング XML ドキュメントを読み取るために使用します。唯一の要件は、各ドキュメントの冒頭に <?xml….
の形式で XML 宣言を含めることです。
データは、新しいドキュメントが見つかるか、または利用可能なデータがなくなるまで読み取られます。遅いネットワークでは、XmlMessageEofProtocol
の方が信頼性が高くなる場合があります。
また、XML 宣言を探すときには、プラットフォームのデフォルトの文字エンコードを使用してメッセージバイトをデコードするため、メッセージの文字エンコードについても注意が必要です。
XML Message EOF Protocol (XML メッセージ EOF プロトコル)
XmlMessageProtocol
を拡張して、新しいメッセージまたは EOF が見つかるまで読み取りを続行します。
Custom Protocol (カスタムプロトコル)
TcpProtocol
を拡張するクラスを作成して、自分のカスタムプロトコルを定義します。
ソケットリスナーのサポートされる TCP プロトコルを設定する手順は、次のとおりです。
ソケットリスナーの [Global Element Properties (グローバル要素のプロパティ)] 設定を開きます。
[General (一般)] タブの [Connection (接続)] で、Tcp listener
を選択します。
[General (一般)] タブの [General (一般)] セクションで、[Protocol (プロトコル)] にサポートされるプロトコルのいずれかを選択します。
コネクタの必須項目を設定します。
[Test Connection (接続をテスト)] をクリックして、Mule が特定のサーバーに接続できることを確認します。
[OK] をクリックします。
Studio でのダイレクトプロトコルを使用するためのソケットリスナーの設定は次のようになります。
[Configuration XML (設定 XML)] タブでは、XML は次のようになります。
<sockets:listener-config name="Sockets_Listener_config" >
<sockets:tcp-listener-connection host="localhost" port="8082" >
<sockets:protocol>
<sockets:direct-protocol />
</sockets:protocol>
</sockets:tcp-listener-connection>
</sockets:listener-config>
xml
Send 操作または Send and receive 操作のサポートされる TCP プロトコルを設定する手順は、次のとおりです。
ソケット操作の [Global Element Properties (グローバル要素のプロパティ)] 設定を開きます。
[General (一般)] タブの [Connection (接続)] で、Tcp requester
を選択します。
[Connection (接続)] タブで、[Protocol (プロトコル)] にサポートされるプロトコルのいずれかを選択します。
コネクタの必須項目を設定します。
[Test Connection (接続をテスト)] をクリックして、Mule が特定のサーバーに接続できることを確認します。
[OK] をクリックします。
Studio でのダイレクトプロトコルを使用するための Send 操作の設定は次のようになります。
[Configuration XML (設定 XML)] タブでは、XML は次のように記述されます。
<sockets:request-config name="Sockets_Send_config" >
<sockets:tcp-requester-connection >
<sockets:protocol >
<sockets:direct-protocol />
</sockets:protocol>
</sockets:tcp-requester-connection>
</sockets:request-config>
xml
問題があるかどうかを確認するために、アプリケーションログを表示できます。
アプリケーションを Anypoint Platform から実行している場合、出力は Anypoint Studio のコンソールウィンドウに表示される。
コマンドラインから Mule を使用してアプリケーションを実行している場合、アプリケーションログは OS コンソールに表示される。
アプリケーションのログファイル (log4j2.xml
) でログファイルパスがカスタマイズされていない場合、デフォルトの場所 MULE_HOME/logs/<app-name>.log
でアプリケーションログを表示することもできます。