第2章 Getting Started (スタートガイド)


ルールの作成 またはクイックスタートの 確認により、カスタム MTA ルールの作成 を開始することができます

2.1. 最初の XML ルールの作成

本セクションでは、最初の MTA XML ベースのルールを作成してテストするプロセスを説明します。これは、すでに MTA がインストールされていることを前提としています。インストール手順は、『CLI ガイド』を参照してください。

この例では、アプリケーションが <class-loading> 要素を含む jboss-web.xml ファイルを定義し、コードの移行方法を記述するドキュメントへのリンクを提供するためのルールを作成します。

ルールのディレクトリー構造の作成

最初のルールと、テストに使用するデータファイルを含むディレクトリー構造を作成します。

$ mkdir -p /home/USER_NAME/migration-rules/rules
$ mkdir -p /home/USER_NAME/migration-rules/data
Copy to Clipboard Toggle word wrap

このディレクトリー構造は、生成された MTA レポートを保持するためにも使用されます。

ルールをテストするためのデータの作成

  1. /home/USER_NAME/migration-rules/data/ サブディレクトリーに jboss-web.xml ファイルを作成します。
  2. 以下の内容にコピーします。

    <!DOCTYPE jboss-web PUBLIC "-//JBoss//DTD Web Application 4.2//EN" "http://www.jboss.org/j2ee/dtd/jboss-web_4_2.dtd">
    <jboss-web>
        <class-loading java2ClassLoadingCompliance="false">
            <loader-repository>
                seam.jboss.org:loader=@projectName@
                <loader-repository-config>java2ParentDelegation=false</loader-repository-config>
            </loader-repository>
        </class-loading>
    </jboss-web>
    Copy to Clipboard Toggle word wrap

ルールの作成

MTA XML ベースのルールは、以下のルールパターンを使用します。

when(condition)
  perform(action)
otherwise(action)
Copy to Clipboard Toggle word wrap

ルールセットおよびルールの XML 要素の詳細は、「 XML ルール構造」 を参照してください。構文例の XML ルールの作成に関する詳細は、「基本的な XML ルールの作成」を参照してください。

  1. という名前の /home/USER_NAME/migration-rules/rules/ サブディレクトリーに XML ファイルを作成し JBoss5-web-class-loading.windup.xmlます。以下の内容にコピーします。

    <?xml version="1.0"?>
    <ruleset id="UNIQUE_RULESET_ID"
        xmlns="http://windup.jboss.org/schema/jboss-ruleset"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://windup.jboss.org/schema/jboss-ruleset http://windup.jboss.org/schema/jboss-ruleset/windup-jboss-ruleset.xsd">
        <metadata>
            <description>
                <!-- Ruleset Description -->
            </description>
            <dependencies>
                <!-- Ruleset Dependencies -->
            </dependencies>
            <sourceTechnology id="SOURCE_ID" versionRange="SOURCE_VERSION_RANGE"/>
            <targetTechnology id="TARGET_ID" versionRange="TARGET_VERSION_RANGE"/>
            <tag>Reviewed-2015-05-01</tag>
        </metadata>
        <rules>
            <rule id="UNIQUE_RULE_ID">
                <when>
                    <!-- Test for a condition here -->
                </when>
                <perform>
                    <!-- Perform an action -->
                </perform>
            </rule>
         </rules>
    </ruleset>
    Copy to Clipboard Toggle word wrap
    注記

    MTA は、.windup.xml または .rhamt.xml 拡張子が XML ベースのルールとして識別されるため、必ずこの命名規則を使用してください。使用しない場合は、ルールが評価されません。

  2. ruleset および rule の一意の識別子を追加します。

    • を適切なルールセット ID に UNIQUE_RULESET_ID 置き換えます(例:) JBoss5-web-class-loading
    • を適切なルール ID に UNIQUE_RULE_ID 置き換えます(例:) JBoss5-web-class-loading_001
  3. 以下の ruleset アドオン依存関係を追加します。

    <dependencies>
      <addon id="org.jboss.windup.rules,windup-rules-javaee,3.0.0.Final"/>
      <addon id="org.jboss.windup.rules,windup-rules-java,3.0.0.Final"/>
    </dependencies>
    Copy to Clipboard Toggle word wrap
  4. ソースおよびターゲットテクノロジーを追加します。

    • SOURCE_ID に置き換え eapます。
    • TARGET_ID に置き換え eapます。
  5. ソースおよびターゲットのテクノロジーバージョンを設定します。

    • SOURCE_VERSION_RANGE に置き換え (4,5)ます。
    • TARGET_VERSION_RANGE に置き換え [6,)ます。

    この構文のヘルプは、Apache Maven バージョン範囲 の指定を参照してください。

  6. when 条件を完了します。

    このルールが XML ファイル内のマッチに対してテストされるため、xmlfile はファイルの評価に使用されます。

    class-loading 要素の要素と一致するには jboss-web、xpath 式を使用し jboss-web/class-loadingます。

    <when>
        <xmlfile matches="jboss-web/class-loading" />
    </when>
    Copy to Clipboard Toggle word wrap
  7. このルールに対する perform アクションを完了します。

    • タイトルの説明と作業量で分類を追加し 1ます。
    • ヒントに情報メッセージと、移行の詳細を説明するドキュメントへのリンクを提供します。

      <perform>
          <iteration>
              <classification title="JBoss Web Application Descriptor" effort="1"/>
              <hint title="JBoss Web XML class-loading element is no longer valid">
                <message>
                  The class-loading element is no longer valid in the jboss-web.xml file.
                </message>
                <link href="https://access.redhat.com/documentation/en-US/JBoss_Enterprise_Application_Platform/6.4/html-single/Migration_Guide/index.html#Create_or_Modify_Files_That_Control_Class_Loading_in_JBoss_Enterprise_Application_Platform_6" title="Create or Modify Files That Control Class Loading in JBoss EAP 6"/>
              </hint>
          </iteration>
      </perform>
      Copy to Clipboard Toggle word wrap

ルールは完了し、以下の例のようになるはずです。

<?xml version="1.0"?>
<ruleset id="JBoss5-web-class-loading"
    xmlns="http://windup.jboss.org/schema/jboss-ruleset"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://windup.jboss.org/schema/jboss-ruleset http://windup.jboss.org/schema/jboss-ruleset/windup-jboss-ruleset.xsd">
    <metadata>
        <description>
            This ruleset looks for the class-loading element in a jboss-web.xml file, which is no longer valid in JBoss EAP 6
        </description>
         <dependencies>
            <addon id="org.jboss.windup.rules,windup-rules-javaee,3.0.0.Final"/>
            <addon id="org.jboss.windup.rules,windup-rules-java,3.0.0.Final"/>
        </dependencies>
        <sourceTechnology id="eap" versionRange="(4,5)"/>
        <targetTechnology id="eap" versionRange="[6,)"/>
    </metadata>
    <rules>
        <rule id="JBoss5-web-class-loading_001">
            <when>
                <xmlfile matches="jboss-web/class-loading" />
            </when>
            <perform>
                <iteration>
                    <classification title="JBoss Web Application Descriptor" effort="1"/>
                    <hint title="JBoss Web XML class-loading element is no longer valid">
                      <message>
                        The class-loading element is no longer valid in the jboss-web.xml file.
                      </message>
                      <link href="https://access.redhat.com/documentation/en-US/JBoss_Enterprise_Application_Platform/6.4/html-single/Migration_Guide/index.html#Create_or_Modify_Files_That_Control_Class_Loading_in_JBoss_Enterprise_Application_Platform_6" title="Create or Modify Files That Control Class Loading in JBoss EAP 6"/>
                    </hint>
                </iteration>
            </perform>
        </rule>
     </rules>
</ruleset>
Copy to Clipboard Toggle word wrap

ルールのインストール

MTA ルールは、ルールを適切なディレクトリーに配置してインストールされます。カスタム ルールを配置することができる場所は、「ルールを MTA に追加 」を参照してください。

JBoss5-web-class-loading.windup.xml ファイルを RHAMT_HOME/rules/ ディレクトリーにコピーします。

$ cp /home/USER_NAME/migration-rules/rules/JBoss5-web-class-loading.windup.xml RHAMT_HOME/rules/
Copy to Clipboard Toggle word wrap

ルールのテスト

端末を開き、以下のコマンドを実行して、テストファイルを入力引数として、出力レポートのディレクトリーとして渡します。

$ RHAMT_HOME/bin/rhamt-cli --sourceMode --input /home/USER_NAME/migration-rules/data --output /home/USER_NAME/migration-rules/reports --target eap:6
Copy to Clipboard Toggle word wrap

以下の結果が表示されるはずです。

Report created: /home/USER_NAME/migration-rules/reports/index.html
              Access it at this URL: file:///home/USER_NAME/migration-rules/reports/index.html
Copy to Clipboard Toggle word wrap

レポートの確認

レポートを確認して、予想される結果が表示されることを確認します。MTA レポートの詳細は、『MTA CLI ガイド』の「レポート の確認 」セクションを参照してください

  1. Web ブラウザー /home/USER_NAME/migration-rules/reports/index.html でを開きます。
  2. ルールが実行されていることを確認します。

    1. 主な編集ページから、Rule providers execution overview リンクをクリックし、Rule Providers Execution Overview を開きます。
    2. JBoss5-web-class-loading_001 ルールを見つけ 、Status? とその Condition met Result? がであることを確認し successます。

      図2.1 テストルール実行

  3. ルールがテストデータで一致していることを確認します。

    1. メインのページから、data この例にあるアプリケーションまたは入力フォルダーの名前をクリックします。
    2. Application Details レポートリンクをクリックします。
    3. jboss-web.xml リンクをクリックして、ソースレポート を表示します。

      <class-loading> 行が強調表示されていること、カスタムルールからのヒントがインラインで表示されます。

      図2.2 ルールの一致

      ファイルの上部には、一致するルールの分類が表示されます。リンクアイコンを使用すると、そのルールの詳細を表示できます。この例では、jboss-web.xml ファイルは、1 ストーリーポイントを作成した別のルール(JBoss web application descriptor (jboss-web.xml))で一致している点に注意してください。これにより、カスタムルールの 1 ストーリーポイントと組み合わされ、このファイルの合計ストーリーポイントがに記載され 2ます。

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat