15.2. リモートで実行中のルーティングコンテキストのデバッグ


注記

リモートホストにデプロイされた Fuse サーバーは、CodeReady Studio の Servers ビューに登録できません。そのため、CodeReady Studio 内からリモート Fuse サーバーを起動、自動的に再デプロイ、または停止することはできません。代わりに、CodeReady Studio 外のデバッグモードで Fuse を起動する必要があります。

前提条件

  • 次のいずれかの方法で Fuse ランタイムにアクセスします。

    • ローカルマシンに Fuse サーバーをインストールし、Fuse_HOME/etc/users.properties ファイルを編集して 管理 ユーザーをアクティブにします。詳細は、「サーバーの追加」 を参照してください。
    • リモートマシンにインストールされている Fuse サーバーにアクセスできます。admin ユーザーの認証情報を含む接続の詳細を知っている必要があります。
  • 新しい Fuse Integration プロジェクトを作成します。「プロジェクト名とワークスペースの指定」 を参照してください。Fuse Integration プロジェクトで以下を行います。

    • Fuse サーバーランタイムのバージョンに一致する Camel バージョンを選択します。
    • 空の Blueprint DSL プロジェクトを作成するか、Blueprint DSL で Fuse の事前定義済みテンプレートの 1 つを使用します。

      注記

      必須ではありませんが、プロジェクトのルーティングコンテキストを Local Camel Context として正常に実行できることを確認することが推奨されます。詳細は、「ローカル Camel コンテキストとしてルートを実行」 を参照してください。

      注記

      「リモートデバッグのセットアップと起動」 の例は、Fuse Content Based Router の事前定義済みテンプレートおよび Red Hat Fuse 6.3.0 ランタイムに基づいています。

  • In Red Hat CodeReady Studio:

リモートデバッグのセットアップと起動

Fuse にデプロイされたプロジェクトが停止し、サーバーが停止したら、以下のようにリモートデバッグを設定して起動する必要があります。

  • Red Hat CodeReady Studio 外のデバッグモードで Fuse を起動します。

    リモートホストにデプロイされた Fuse サーバーは、CodeReady Studio の Servers ビューに登録できないため、CodeReady Studio 外のデバッグモードで Fuse を起動する必要があります。

  • CodeReady Studio で、ルートエディターで開かれているプロジェクトのルーティングコンテキストのノードにブレークポイントを設定します。
  • リモートの Camel コンテキストデバッグ設定を作成し、実行します。
  • JMX Navigator ビューで Fuse ランタイムに接続します。
  • Fuse ランタイム内で稼働している Camel ルートの入力ノードの JMX Navigator ビューでテストメッセージをドロップします。
  • ルートのデバッグに Camel デバッガーのツールのいずれかを使用します。

手順

リモートデバッグを設定して起動するには、以下を実行します。

  1. Red Hat CodeReady Studio の外部でターミナルを開き、以下を入力します。

    $ [FUSE_HOME]/bin/fuse debug
  2. Fuse スプラッシュ画面が表示されるのを待ってから、CodeReady Studio の Fuse Integration パースペクティブに戻ります。
  3. ツールのルートエディターで、Design タブでプロジェクトのルーティングコンテキストを開き、対象のノードにブレークポイントを設定します。詳細は、14章ブレークポイントの設定 を参照してください。
  4. Project Explorer ビューで、プロジェクトのルートを右クリックし、Debug As Debug Configurations を選択して Debug Configurations ウィザードを開きます。

    NewRemoteDBLaunchCnfg
  5. 設定タイプペインで、Remote Camel Context または Remote Camel Context and Java のいずれかを選択し、 New Configuration をクリックします。

    CCJdbNewLaunchCnfg

    Remote Camel Context および Remote Camel Context および Java オプションの両方で、Camel および JMX タブで設定の詳細を指定する必要があります。

    Remote Camel Context および Java オプションのみの場合は、Connect タブで設定の詳細も指定する必要があります。

    注記

    プロジェクトに標準の Eclipse Java デバッグツールを使用してデバッグする Java コードが含まれない限り、Remote Camel Context オプションを選択します。

  6. 名前 フィールド は、新しい起動設定の名前を入力します。
  7. Camel タブで Browse ボタンをクリックし、Open Resources ダイアログでプロジェクトのルーティングコンテキストの .xml ファイルを見つけます。

    CCdbSelCamelCntxt
    注記

    Matching items ペインでファイルを選択すると、ツールはペインの下部にあるプロジェクトルートに対するファイルの場所を表示します。

  8. Matching items ペインで、リストからプロジェクトのルーティングコンテキストファイルを選択し、OK をクリックします。

    このツールは、ファイルのパスを Select Camel Context file フィールドに挿入します。

    CCJDbugCamelTabNew
  9. JMX タブをクリックします。

    RemoteDBJMXtabDefaults

    以下のように JMX 接続の詳細を編集します。

    • JMX Uri EOF-EOFchange :9011/jmxrmi to :1099/karaf-root

      Fuse サーバーがリモートホストで実行している場合は、localhost をリモートホストの DNS 名または IP アドレスに置き換えます。

    • JMX User psyc-psycenter admin.
    • JMX Password psyc-psycenter admin.

      重要

      JMX User および JMX Password に示される値は、Fuse_HOME/etc/users.properties ファイルに保存される Fuse 管理 ユーザーのデフォルトです。設定が異なる場合は、それに固有の値を入力します。

      リモート Camel コンテキスト デバッグ起動設定を作成する場合は、完了します。[debugCfgGo] に進みます。

  10. Connect タブをクリックします。

    RemoteDBConnectTabDefaults

    Port の値を 8000 から 5005 に変更します。その他のプロパティーはそのままにしておきます。

  11. Apply をクリックしてから Debug をクリックします。
  12. JMX Navigator ビューで、Fuse [xxx] [Disconnected] をダブルクリックして接続し、そのツリーを展開します。
  13. Project Explorer ビューで、テストメッセージを src/test/resources/data からドラッグし、JMX Navigator ビューの cbr-example-context/Endpoints/file/work/cbr/input フォルダーにドロップします。

    ルーティングコンテキストで設定された最初のブレークポイントにメッセージが到達すると、ツールは Debug パースペクティブに切り替えるように要求します。

    DBCnfrmSwitchToDBView
  14. Yes をクリックします。

    RemoteDBPerspOpen

    この時点で、任意の Camel デバッガーのツールを使用して、ルーティングコンテキストをデバッグできます。

    注記

    リモートデバッグセッションでは、Console ビューにログ出力は表示されません。

    注記

    1 つのメッセージがルーティングコンテキストの最後に到達すると、デバッガーは一時停止されます。デバッグを続行するには、Fuse Integration パースペクティブに戻し、JMX Navigator ビューの入力ノードに別のメッセージをドロップします。そうするたびに、ツールは Debug パースペクティブへの切り替えを確認するように要求します。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.