64.2. コンパイル


csimple 言語は、通常の Java ソースコードに解析され、他のすべてのソースコードと一緒にコンパイルされるか、camel-csimple-joor モジュールを介してブートストラップ中に 1 回コンパイルすることもできます。

csimple をコンパイルするには 2 つの方法があります

  • ビルド時に camel-csimple-maven-plugin 生成ソースコードを使用します。
  • Camel のブートストラップ中にランタイムインメモリーコンパイルを行う camel-csimple-joor を使用します。

64.2.1. camel-csimple-maven-plugin の使用

camel-csimple-maven-plugin Maven プラグインは、ソースコードからすべての csimple スクリプトを検出するために使用され、src/generated/java フォルダーにソースコードが自動生成され、他のすべてのソースと共にコンパイルされます。

Maven プラグインは、.java および .xml ファイル (Java および XML DSL) のソースコードスキャンを実行します。スキャナーは特定のコードパターンの検出に制限をかけており、csimple スクリプトが異常または、まれな方法で使用されている場合に、csimple スクリプトの一部を検出できない可能性があります。

camel-csimple-joor を使用したランタイムコンパイルには、この制限はありません。

利点として、すべての csimple スクリプトが通常の Java コンパイラーを使用してコンパイルされるため、すべてがアプリケーションの JAR ファイルに .class ファイルとしてそのまま含まれており、実行時に追加の依存関係が必要ないことが挙げられます。

camel-csimple-maven-plugin を使用するには、次のように pom.xml ファイルに追加する必要があります。

<plugins>
    <!-- generate source code for csimple languages -->
    <plugin>
        <groupId>org.apache.camel</groupId>
        <artifactId>camel-csimple-maven-plugin</artifactId>
        <version>${camel.version}</version>
        <executions>
            <execution>
                <id>generate</id>
                <goals>
                    <goal>generate</goal>
                </goals>
            </execution>
        </executions>
    </plugin>
    <!-- include source code generated to maven sources paths -->
    <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>build-helper-maven-plugin</artifactId>
        <version>3.1.0</version>
        <executions>
            <execution>
                <phase>generate-sources</phase>
                <goals>
                    <goal>add-source</goal>
                    <goal>add-resource</goal>
                </goals>
                <configuration>
                    <sources>
                        <source>src/generated/java</source>
                    </sources>
                    <resources>
                        <resource>
                            <directory>src/generated/resources</directory>
                        </resource>
                    </resources>
                </configuration>
            </execution>
        </executions>
    </plugin>
</plugins>

そして、build-helper-maven-plugin Maven プラグインを追加して、src/generated を Java コンパイラーのソースフォルダーのリストに追加して、生成されたソースコードがコンパイルされ、アプリケーション JAR ファイルに含まれるようにする必要があります。

Maven プラグインを使用する Camel Examplescamel-example-csimple の 例を参照してください。

64.2.2. camel-csimple-joor の使用

jOOR ライブラリーは Java コンパイラーと統合され、Java コードのランタイムコンパイルを実行します。

camel-simple-joor を使用するときにサポートされるランタイムは、Java スタンドアロン、Spring Boot、Camel Quarkus、およびその他のマイクロサービスランタイムを対象としています。OSGi、Camel Karaf、またはあらゆる種類の Java Application Server ランタイムではサポートされていません。

jOOR は、ファット jar パッケージ (https://github.com/jOOQ/jOOR/issues/69) を使用した Spring Boot でのランタイムコンパイルをサポートしていません。展開形式のクラスパスで動作します。

camel-simple-joor を使用するには、依存関係としてクラスパスに追加するだけです。

<dependency>
  <groupId>org.apache.camel</groupId>
  <artifactId>camel-csimple-joor</artifactId>
  <version>{CamelSBProjectVersion}</version>
</dependency>

pom.xml ファイルに Maven プラグインを追加する必要はありません。

jOOR コンパイラーを使用する Camel Examplescamel-example-csimple-joor の例を参照してください。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.