Skip navigation

ストリーム・プロバイダはストリームデータの読書きを行います。多くの場合は、JavaのSystem.outとSystem.inのインターフェースとして使われます。

System.inを介してデータを取得するには以下のように書きます:

<mule-descriptor name="test" implementation="org.mule.components.simple.PassThroughComponent">
  <inbound-router>
    <endpoint address="stream://System.in?promptMessage=Enter something: />
  </inbound-router>
</mule-descriptor>

<connector>の定義は不要なことに注意してください。ストリームのエンドポイントがESB MuleにSystemStreamConnectorを利用することを示します。もし明示的に示す必要がある場合は、以下のように書きます:

<connector name="SystemStreamConnector" className="org.mule.providers.stream.SystemStreamConnector">
    <properties>
        <property name="promptMessage" value="Enter something: "/>
        <property name="messageDelayTime" value="1000"/>
    </properties>
</connector>

System.outを介してコンソールにデータを出力するには以下のように記述します:

<outbound-router>
 <router className="org.mule.routing.outbound.OutboundPassThroughRouter">
  <endpoint address="stream://System.out" transformers="JMSMessageToObject"/>
 </router>
</outbound-router>

上の例では、受信したJMSメッセージはSystem.outに書き出されます。トランスフォーマーはJMSメッセージを人が読める形式に変換します。

ストリーム・コネクタのプロパティ

このコネクタには、以下のプロパティを指定することができます:

プロパティ 説明 デフォルト 必須 適用オブジェクト
promptMessage 入力を要求する場合のプロントのメッセージ。   × System.in
messageDelayTime 入力を要求するまでの待ち時間 3秒 × System.in
outputMessage データを出力する前に書き出すメッセージ。   × System.out System.err
resourceBundle リソース・バンドルからプロント・メッセージを読み込む場合に指定。このパラメータはリソース・バンドルの接頭辞を設定する。以下の参照。   × System.in
promptMessageCode リソース・バンドルからぷろんど・メッセージを読み込む場合に指定。プロント・メッセージのリソース・メッセージIDを設定する。以下を参照。   × System.in
outputMessageCode リソース・バンドルからぷろんど・メッセージを読み込む場合に指定。出力メッセージのリソース・メッセージIDを指定する。以下を参照。   × System.in

ストリーム・エンドポイント

System Streamエンドポイントは以下のように記述します:

stream://[ストリーム名]

「ストリーム名」は以下の何れになります:

  1. System.in - 入力ストリーム
  2. System.out - 出力ストリーム
  3. System.err - エラー出力ストリーム

プロパティの上書き

System Streamエンドポイントを定義する際に、特定のリシーバー及びディスパッチャーの設定を上書きすることができます。特定のエンドポイントに設定でいるプロパティは promptMessageoutputMessage です。

トランスフォーマー

ストリーム・プロバイダにはトランスフォーマーは標準でありません。

メッセージの国際化

もしアプリケーションをここに書かれている手順で 国際対応している場合は、SystemStreamConnectorのpromptMessages及びoutputMessagesも国際対応することができます。(メッセージのリソース・バンドルを作成されていることを前提をします。)

国際化対応する場合は、resourceBundleパラメータとpromptMessageCode及びoutputMessageCode パラメータを指定します。resourceBundleパラメータは、リソース・バンドルのキーを含みます。promptMessageCodeパラメータには、プロント・メッセージに対応するメッセージのキーを指定します。
下のコードは、リソース・バンドル「hello-example」のキーが「3」のメッセージをプロントに使います。なお、リソース・バンドル用のpropertiesファイルはMETA-INF/services/org/mule/i18n/hello-example-messages<langCode>.propertiesにあると想定されます。

<connector name="SystemStreamConnector" className="org.mule.providers.stream.SystemStreamConnector">
    <properties>
        <property name="promptMessageCode" value="3"/>
        <property name="resourceBundle" value="hello-example"/>
        <property name="messageDelayTime" value="1000"/>
    </properties>
</connector>
Adaptavist Theme Builder Powered by Atlassian Confluence