2.2. プロジェクトの実行

プロジェクトを実行する前に、セットアップに Maven と Red Hat Fuse を使用するアプリケーションサーバーが含まれていることを確認してください。

注記

Java 17 を使用している場合は、JBoss EAP Elytron サブシステム を使用してアプリケーションを起動する前に JBoss EAP Elytron サブシステム を有効にする必要があります。

  • Linux の場合: ${JBOSS_HOME}/bin/jboss-cli.sh --file=docs/examples/enable-elytron-se17.cli -Dconfig=standalone-full.xml
  • Windows の場合: %JBOSS_HOME%\bin\jboss-cli.bat --file=docs\examples\enable-elytron-se17.cli -Dconfig=standalone-full.xml

プロジェクトを実行するには、以下の手順を実行します。

  1. スタンドアロンモードでアプリケーションサーバーを起動します。

    • Linux の場合: ${JBOSS_HOME}/bin/standalone.sh -c standalone-full.xml
    • Windows の場合: %JBOSS_HOME%\bin\standalone.bat -c standalone-full.xml
  2. プロジェクトをビルドしてデプロイします (mvn install -Pdeploy)。
  3. ここで、http://localhost:8080/example-camel-cdi/?name=World の場所を参照します。以下のメッセージ Hello World from 127.0.0.1 は、Web ページの出力として表示されます。また、以下のように MyRouteBuilder.java クラスで Camel Route を表示できます。
from("direct:start").bean("helloBean");

bean DSL では、Camel は bean レジストリーで helloBean という名前の bean を検索します。また、SomeBean クラスが原因で bean を Camel で利用できます。@Named アノテーションを使用すると、camel-cdi は bean を Camel bean レジストリーに追加します。

@Named("helloBean")

public class SomeBean {

     public String someMethod(String name) throws Exception {

        return String.format("Hello %s from %s", name, InetAddress.getLocalHost().getHostAddress());

    }

}

詳細は、$ EAP_HOME/quickstarts/camel/camel-cdi ディレクトリーを参照してください。