57.4. Camel コンテキスト設定


デフォルトの CamelContext Bean の名前を変更する場合は、Camel CDI によって提供される @ContextName 修飾子を使用できます。以下に例を示します。

@ContextName("camel-context")
class MyRouteBean extends RouteBuilder {
 
    @Override
    public void configure() {
        from("jms:invoices").to("file:/invoices");
    }
}

それ以外は、カスタマイズが必要な場合は、すべての CamelContext クラスを使用してカスタムの Camel コンテキスト Bean を宣言することができます。次に、カスタマイズを行うために @PostConstruct および @PreDestroy ライフサイクルコールバックを実行できます。以下に例を示します。

@ApplicationScoped
class CustomCamelContext extends DefaultCamelContext {

    @PostConstruct
    void customize() {
        // Set the Camel context name
        setName("custom");
        // Disable JMX
        disableJMX();
    }

    @PreDestroy
    void cleanUp() {
        // ...
    }
}

プロデューサー メソッドや 破棄メソッド を使用して、Camel コンテキスト Bean をカスタマイズすることもできます。以下に例を示します。

class CamelContextFactory {

    @Produces
    @ApplicationScoped
    CamelContext customize() {
        DefaultCamelContext context = new DefaultCamelContext();
        context.setName("custom");
        return context;
    }

    void cleanUp(@Disposes CamelContext context) {
        // ...
    }
}

同様に、 プロデューサーフィールド を使用できます。以下に例を示します。

@Produces
@ApplicationScoped
CamelContext context = new CustomCamelContext();

class CustomCamelContext extends DefaultCamelContext {

    CustomCamelContext() {
        setName("custom");
    }
}

このパターンを使用すると、 setAutoStartup メソッドを呼び出すことで、コンテナーの初期化時に Camel コンテキストルートが自動的に起動されないようにすることができます。以下に例を示します。

@ApplicationScoped
class ManualStartupCamelContext extends DefaultCamelContext {

    @PostConstruct
    void manual() {
        setAutoStartup(false);
    }
}
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2026 Red Hat
トップに戻る