インターネット リージョンでSchedulerXを使用する場合、インターネットにアクセスできるマシンまたはコンテナーをSchedulerXに接続できます。たとえば、インターネットにアクセスできるサードパーティのマシンまたはオンプレミスの開発環境をSchedulerXに接続できます。このトピックでは、テストと開発を実行するために、オンプレミス環境からインターネット経由でSchedulerXに接続する方法について説明します。
前提条件
SchedulerXがアクティブ化されていること。詳細については、「SchedulerXをアクティブ化する」をご参照ください。
リソースが作成されていること。詳細については、「リソースを作成する」をご参照ください。
説明アプリケーションを作成するときに、[インターネット] リージョンを選択していることを確認してください。
手順
SchedulerxWorker の依存関係をアプリケーションの pom.xml ファイルに追加します。SchedulerxWorker の初期化に使用される構成は、アプリケーションの種類によって異なります。
JavaまたはSpringアプリケーション
<dependency> <groupId>com.aliyun.schedulerx</groupId> <artifactId>schedulerx2-worker</artifactId> <version>${schedulerx2.version}</version> <!--logbackを使用する場合は、log4jとlog4j2を除外します。 --> <exclusions> <exclusion> <groupId>org.apache.logging.log4j</groupId>JavaまたはSpringアプリケーション
アプリケーションのアクセス構成 ( [インターネット] リージョン、acm.aliyun.com エンドポイントなど) を取得します。
SchedulerX コンソールにログオンします。上部のナビゲーションバーにあるドロップダウンリストから、[インターネット] リージョンを選択します。
左側のナビゲーションペインで、[アプリケーション管理] をクリックします。[アプリケーション管理] ページで、管理するアプリケーションを見つけ、[操作] 列の [アクセス構成] をクリックします。


ドロップダウンリストからアクセス方法を選択して、アクセス構成を取得します。表示されるアクセス構成は、選択したアクセス方法によって異なります。前の図の矩形ボックス ① は、ドロップダウンリストを示しています。
SchedulerxWorker を初期化します。SchedulerxWorker の初期化に使用される構成は、アプリケーションの種類によって異なります。
Java アプリケーション
SchedulerxWorker を main 関数を使用して初期化します。
[アクセス構成] パネルで、[ワンクリックコピー] をクリックしてアクセス構成をコピー先の構成ファイルにコピーするか、
schedulerxWorker.setEndpoint、schedulerxWorker.setNamespace、schedulerxWorker.setGroupId、およびschedulerxWorker.setAppKeyの値を [手順 2] で取得した値に置き換えます。説明アプリケーションが複数のサービスを提供する場合、またはアプリケーションのスケジュール済みジョブを分類する場合は、複数のグループを作成できます。たとえば、
animals.dogsという名前のグループとanimals.catsという名前のグループをanimalsアプリケーション用に作成します。この場合、グループにインスタンスを個別に追加する必要はありません。アプリケーションエージェントの構成でgroupId=にグループ名を付加するだけです。例: groupId=animals.dogs,animals.cats。SchedulerxWorker を初期化するときに、さらに構成を追加できます。詳細については、「SchedulerxWorker パラメーター」をご参照ください。
Spring アプリケーション
SchedulerxWorker Bean をアプリケーションの XML 設定ファイルに挿入します。
<bean id="schedulerxWorker" class="com.alibaba.schedulerx.worker.SchedulerxWorker"> <property name="endpoint"> <value>${endpoint}</value> </property> <property name="namespace"> <value>${namespace}</value> </property> <property name="groupId"> <value>${groupId}</value> </property> <!--エージェントのバージョンが 1.2.1 以後の場合は、アプリケーションキーを指定する必要があります。--> <property name="appKey"> <value>${appKey}</value> </property> </bean>[アクセス設定] パネルで、[ワンクリックコピー] をクリックしてアクセス設定をコピー先の構成ファイルにコピーするか、
${endpoint}、${namespace}、${groupId}、および${appKey}の値を 手順 2 で取得した値に置き換えます。Java アプリケーション
次の構成を application.properties ファイルに追加します。
spring.schedulerx2.endpoint=${endpoint} spring.schedulerx2.namespace=${namespace} spring.schedulerx2.groupId=${groupId} # エージェントのバージョンが 1.2.1 以降の場合は、アプリケーションキーを指定します。 spring.schedulerx2.appKey=${appKey}[アクセス構成] パネルで、[ワンクリックコピー] をクリックしてアクセス構成をコピー先の構成ファイルにコピーするか、
${endpoint}、${namespace}、${groupId}、および${appKey}の値を [手順 2] で取得した値に置き換えます。説明アプリケーションが複数のサービスを提供する場合、またはアプリケーションのスケジュール済みジョブを分類する場合は、複数のグループを作成できます。たとえば、animals アプリケーション用に animals.dogs という名前のグループと animals.cats という名前のグループを作成します。この場合、グループにインスタンスを個別に追加する必要はありません。アプリケーションエージェントの構成で
groupId=にグループ名を追加するだけです。例:groupId=animals.dogs,animals.cats。アプリケーションで
JavaProcessorクラスを作成して、ジョブスケジューリングを実装します。次のサンプルコードは、スケジュールに従って
hello schedulerx2.0を出力する JavaProcessor クラスの実装例を示しています。package com.オンプレミス環境でアプリケーションを実行します。
結果の確認
アプリケーションがSchedulerXに接続された後、アプリケーションをAlibaba Cloudに公開します。
SchedulerX コンソールにログインします。
上部のナビゲーションバーで、リージョンを選択します。
左側のナビゲーションペインで、[アプリケーション管理] をクリックします。
[インスタンスの総数] を [アプリケーション管理] ページで表示します。
[インスタンスの総数] 列に 0 が表示されている場合、アプリケーションはSchedulerXに接続されていません。オンプレミスアプリケーションを確認して変更します。
[インスタンスの総数] 列に 0 以外の数が表示されている場合、アプリケーションはSchedulerXに接続されています。[操作] 列の [インスタンスの表示] をクリックして、[インスタンスへの接続] パネルでインスタンスを表示します。