99.7. 使用例


99.7.1. ワードカウントの実行 (Linux)

以下の例では、wc (単語カウント、Linux) を実行して、ファイル /usr/share/dict/words 内の単語をカウントします。単語数 (出力) は、wc の標準出力ストリームに書き込まれます。

from("direct:exec")
.to("exec:wc?args=--words /usr/share/dict/words")
.process(new Processor() {
     public void process(Exchange exchange) throws Exception {
       // By default, the body is ExecResult instance
       assertIsInstanceOf(ExecResult.class, exchange.getIn().getBody());
       // Use the Camel Exec String type converter to convert the ExecResult to String
       // In this case, the stdout is considered as output
       String wordCountOutput = exchange.getIn().getBody(String.class);
       // do something with the word count
     }
});

99.7.2. java の実行

次の例では、java がシステムパスにある場合、-server-version の 2 つの引数を指定して java を実行します。

from("direct:exec")
.to("exec:java?args=-server -version")

以下の例では、3 つの引数 -server-version、およびシステムプロパティー user.name を使用して c:\tempjava を実行します。

from("direct:exec")
.to("exec:c:/program files/jdk/bin/java?args=-server -version -Duser.name=Camel&workingDir=c:/temp")

99.7.3. Ant スクリプトの実行

次の例では、ant.bat がシステムパスにあり、CamelExecBuildFile.xml が現在のディレクトリーにある場合に、ビルドファイル CamelExecBuildFile.xml を使用して Apache Ant (Windows のみ) を実行します。

from("direct:exec")
.to("exec:ant.bat?args=-f CamelExecBuildFile.xml")

次の例では、ant.bat コマンドは -l を使用してその出力を CamelExecOutFile.txt にリダイレクトします。ファイル CamelExecOutFile.txtoutFile=CamelExecOutFile.txt で出力ファイルとして使用されます。この例では、ant.bat がシステムパスにあり、CamelExecBuildFile.xml が現在のディレクトリーにあると想定しています。

from("direct:exec")
.to("exec:ant.bat?args=-f CamelExecBuildFile.xml -l CamelExecOutFile.txt&outFile=CamelExecOutFile.txt")
.process(new Processor() {
     public void process(Exchange exchange) throws Exception {
        InputStream outFile = exchange.getIn().getBody(InputStream.class);
        assertIsInstanceOf(InputStream.class, outFile);
        // do something with the out file here
     }
  });

99.7.4. echo の実行 (Windows)

echodir などのコマンドは、オペレーティングシステムのコマンドインタープリターでのみ実行できます。この例は、Windows でこのようなコマンド (echo) を実行する方法を示しています。

from("direct:exec").to("exec:cmd?args=/C echo echoString")
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.