---
schema_version: "1"
id: a1fd3b378f7767ce5b412a050d7049d7f47f674bec1b6d5f2320fbe7b2e878fc
title: Mule SDK を使用したメッセージソースの作成
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/mule-sdk/1.1/sources.md
canonical_url: https://docs.mulesoft.com/jp/mule-sdk/1.1/sources
source_site: docs.mulesoft.com
content_type: documentation
content_hash: 49fd0068b23dfe0dd78414224871dc8ab2f5e48c730dc95995fd813c96d711e7
description: MuleSoft Documentation Site
release: "1.1"
latest: false
---
# Mule SDK を使用したメッセージソースの作成

操作は、メッセージを処理して結果を生成するコンポーネントです。メッセージソースは、Mule Runtime で処理する新しいメッセージを受信または生成するコンポーネントです。

メッセージソースの例:

- HTTP リスナー
- ファイルウォッチャー
- ユーザーが以前にサブスクライブしたキューからメッセージを取得する JMS/AMQP リスナー
- Salesforce ストリーミング API

## [](#操作とメッセージソースの類似点)操作とメッセージソースの類似点

操作とメッセージソースには、以下が含まれます。

- パラメーター
- 戻り値のデータ型
- 名前と説明
- 再接続機能

## [](#操作とメッセージソースの相違点)操作とメッセージソースの相違点

<table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 50%;">
<col style="width: 50%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">操作</th>
<th class="tableblock halign-left valign-top">メッセージソース</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">操作はメッセージを処理します。</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">ソースはメッセージを作成してフローにプッシュします。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">操作のライフサイクルは、含まれているフローに関連付けられています。</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">メッセージソースは、含まれているフローとは独立して開始および停止できます。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">操作のパラメーターには、式を受け入れるオプションが含まれます (デフォルト)。</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">ソースには、式を受け入れることができるパラメーターと受け入れることができないパラメーターの明確な定義があります。式を受け入れることができるのは、応答の生成に含まれるパラメーターのみです。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">操作にはライフサイクルを設定できますが、そのパラメーター値は使用できないか、必要ありません。</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">メッセージソースには、​<code>start()</code>​ および ​<code>stop()</code>​ フェーズが必要です。パラメーター値へのアクセス権が必要になる場合もあります。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">操作が実行されるたびに接続が取得されます。</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">メッセージソースが開始されるたび、または再接続の発生時に接続が取得されます。</p></td>
</tr>
</tbody>
</table>

## [](#mule-sdk-を介したメッセージソースの実装)Mule SDK を介したメッセージソースの実装

メッセージソースの実装方法を定義する場合、上記の相違点により、操作で定義されているモデルと 100% 一貫性を確保することは困難です。

ソースは、2 つの汎用型 (生成されるイベントペイロードの型と属性の型に対応) を取る ​`Source`​ クラスを拡張する場合に必要になります。

```java
@Alias("listener")
@EmitsResponse
public class HttpListener extends Source<InputStream, HttpRequestAttributes> {}
```

<table><tbody><tr><td class="icon"><i class="fa icon-tip" title="Tip"></i></td><td class="content"><code>@Alias</code>​ アノテーションを使用すると、名前を強制できます。使用しない場合、SDK によって名前が推定されます。</td></tr></tbody></table>

## [](#次のステップ)次のステップ

- [メッセージソースのパラメーターの定義](https://docs.mulesoft.com/jp/mule-sdk/1.1/sources-parameters)