---
schema_version: "1"
id: dff4924517b0152a95ab5bb017863ad870c73e0307ca1479e9e344ecc69db4c4
title: メッセージソースのライフサイクル
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/mule-sdk/1.1/sources-lifecycle.md
canonical_url: https://docs.mulesoft.com/jp/mule-sdk/1.1/sources-lifecycle
source_site: docs.mulesoft.com
content_type: documentation
content_hash: 90e9d443fc91fa15b2b5b46acc59007fbe5d0ed5d02f30782f5e6492eddaafa6
description: MuleSoft Documentation Site
release: "1.1"
latest: false
---
# メッセージソースのライフサイクル

ライフサイクルが所有フローに関連付けられている場合、操作とは異なり、ソースは Runtime Manager で個別に開始または停止できます。

これをサポートするために、​`Source`​ クラスでは、​`onStart()`​ および ​`onStop()`​ メソッドを実装する必要があります。

## [](#onstart)onStart

VM Connector の次の例は、​`onStart()`​ メソッドを示しています。

```java
@Override
public void onStart(SourceCallback<Serializable, VMMessageAttributes> sourceCallback) throws MuleException {

}
```

このメソッドでは、メッセージを生成できるように必要なすべてのリソース (スレッド、スケジューラー、接続など) を初期化する必要があります。これを実行しようとしているときに例外またはエラー状況が見つかった場合、次の作業を行う必要があります。

- 割り当てなかったリソースを解放する。
- わかりやすいメッセージと共に例外をスローする。

ソースを開始できない場合、そのソースが含まれるアプリケーションは開始できません。

<table><tbody><tr><td class="icon"><i class="fa icon-tip" title="Tip"></i></td><td class="content">この時点で ​<code>@Parameter</code>​ アノテーションで定義されているすべてのソースパラメーター値が解決されて使用できるようになります。</td></tr></tbody></table>

### [](#sourcecallback)SourceCallback

メソッドは SourceCallback オブジェクトを受信します。​`SourceCallback`​ は、ソースの機能のほぼすべての側面に関わるため、ソースの最も重要な部分と言えます。​`SourceCallback`​ の用途や役割についての詳細は、このドキュメントを読み進めていくなかで確認できますが、簡単に言うと ​`SourceCallback`​ は Runtime と通信するためにソースで使用されるものです。この用途を次に示します。

- メッセージをフローにプッシュする。
- 接続の問題を伝えて、再接続をトリガーする。
- ソースのプッシュフェーズ間の状態を応答処理部分に渡す。

`SourceCallback`​ はこのように重要な役割を担っているため、指定されたインスタンスが常に使用できることが非常に重要です。ソースの複雑さやコードの編成によっては、メソッド引数として保持するだけでこれを実現できる場合があります。より複雑なソースでは、インスタンス項目でその参照を保持することが必要になる可能性もあります。これを行う場合、​`onStop()`​ メソッドの実行時に参照がクリアされていることを確認する必要があります。

## [](#onstop)onStop

このメソッドは、ソースによるメッセージの生成を停止するために Runtime によって呼び出されます。​**このメソッドは失敗しないようにする必要があります**​。停止プロセス中に見つかった例外は、ソースによって記録され、適切に処理される必要がありますが、このメソッドの呼び出した後、ソースは次の作業を行う (次の状態になっている) 必要があります。

- メッセージの生成を停止する。
- 割り当てられたリソースを解放する。
- 再起動できる状態になっている。

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

- [メッセージソースでの設定および接続の取得](https://docs.mulesoft.com/jp/mule-sdk/1.1/sources-config-connection)