インターネットにアクセスできるオンプレミスマシン、サードパーティサーバー、コンテナは、インターネット リージョンを介して SchedulerX に接続できます。これにより、Alibaba Cloud にデプロイする前に、ローカルでスケジュールされたジョブを開発およびテストできます。
前提条件
開始する前に、次のことを確認してください:
SchedulerX が有効化されていること。詳細については、「SchedulerX の有効化」をご参照ください。
アプリケーション用に インターネット リージョンを選択してリソースが作成されていること。詳細については、「リソースの作成」をご参照ください。
アクセス構成パラメーター
SchedulerX に接続するには、各アプリケーションで 4 つの構成値が必要です。たとえば、インターネット リージョンや acm.aliyun.com エンドポイントなどです。
| パラメーター | 説明 |
|---|---|
endpoint | SchedulerX サービスエンドポイント |
namespace | 環境を分離する名前空間 |
groupId | アプリケーションのグループ識別子 |
appKey | アプリケーションキー (エージェントバージョン 1.2.1 以降で必須) |
これらの値を取得するには:
SchedulerX コンソールにログインします。上部のナビゲーションバーで、インターネット リージョンを選択します。
左側のナビゲーションウィンドウで、アプリケーション管理 をクリックします。対象のアプリケーションを見つけ、操作 列の アクセス構成 をクリックします。

アクセス構成 パネルで、ドロップダウンリスト (下図の矩形 1) からアクセス方法を選択します。選択した方法の構成値がパネルに表示されます。

アプリケーションの接続
次の手順では、Maven 依存関係の追加、SchedulerxWorker の初期化、スケジュールされたジョブの作成について説明します。ご利用のアプリケーションの種類に合った手順を選択してください。
ご利用の
pom.xmlファイルに SchedulerxWorker の依存関係を追加します。Java または Spring アプリケーション
<dependency> <groupId>com.aliyun.schedulerx</groupId> <artifactId>schedulerx2-worker</artifactId> <version>${schedulerx2.version}</version> <!--Logback を使用する場合は、Log4j と Log4j 2 を除外します。--> <exclusions> <exclusion> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId> </exclusion> <exclusion> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> </exclusion> <exclusion> <groupId>log4j</groupId> <artifactId>log4j</artifactId> </exclusion> </exclusions> </dependency>Spring Boot アプリケーション
<dependency> <groupId>com.aliyun.schedulerx</groupId> <artifactId>schedulerx2-spring-boot-starter</artifactId> <version>${schedulerx2.version}</version> <!-- Logback を使用する場合は、Log4j と Log4j 2 を除外します。 --> <exclusions> <exclusion> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId> </exclusion> <exclusion> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> </exclusion> <exclusion> <groupId>log4j</groupId> <artifactId>log4j</artifactId> </exclusion> </exclusions> </dependency>コンソールから取得した構成値を使用して SchedulerxWorker を初期化します。アクセス構成 パネルで ワンクリックコピー をクリックして値をコピーするか、以下のプレースホルダーを手動で置き換えます。
Java アプリケーション
main 関数で SchedulerxWorker を初期化します:
public void initSchedulerxWorker() throws Exception { SchedulerxWorker schedulerxWorker = new SchedulerxWorker(); schedulerxWorker.setEndpoint("xxxx"); // ご利用のエンドポイントに置き換えます schedulerxWorker.setNamespace("xxxx"); // ご利用の名前空間に置き換えます schedulerxWorker.setGroupId("xxxx"); // ご利用のグループ ID に置き換えます // エージェントバージョン 1.2.1 以降で必須 schedulerxWorker.setAppKey("xxxx"); // ご利用のアプリケーションキーに置き換えます schedulerxWorker.init(); }説明複数のグループ:スケジュールされたジョブを分類したり、複数のサービスを提供したりするには、複数のグループを作成し、すべてのグループ名を
groupIdパラメーターに追加します。例:groupId=animals.dogs,animals.cats。インスタンスはグループ間で自動的に共有されます。追加パラメーター:初期化オプションの完全なリストについては、「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>Spring Boot アプリケーション
次のプロパティを
application.propertiesファイルに追加します:spring.schedulerx2.endpoint=${endpoint} spring.schedulerx2.namespace=${namespace} spring.schedulerx2.groupId=${groupId} # エージェントバージョン 1.2.1 以降で必須 spring.schedulerx2.appKey=${appKey}JavaProcessorを拡張するクラスを作成して、ジョブのロジックを定義します。次の例では、ジョブが実行されるたびにhello schedulerx2.0が出力されます:package com.aliyun.schedulerx.test.job; import com.alibaba.schedulerx.worker.domain.JobContext; import com.alibaba.schedulerx.worker.processor.JavaProcessor; import com.alibaba.schedulerx.worker.processor.ProcessResult; @Component public class MyHelloJob extends JavaProcessor { @Override public ProcessResult process(JobContext context) throws Exception { System.out.println("hello schedulerx2.0"); return new ProcessResult(true); } }オンプレミス環境でアプリケーションを起動します。
接続の確認
アプリケーションを起動した後、SchedulerX に接続されていることを確認します:
アプリケーションが SchedulerX に接続された後、アプリケーションを Alibaba Cloud に公開します。
SchedulerX コンソールにログインします。
上部のナビゲーションバーで、リージョンを選択します。
左側のナビゲーションウィンドウで、アプリケーション管理 をクリックします。
ご利用のアプリケーションの インスタンスの総数 列を確認します。
0 インスタンス:アプリケーションは接続されていません。アクセス構成を確認し、オンプレミスマシンが SchedulerX エンドポイントに到達できることを確認してください。
0 以外:アプリケーションは接続されています。操作 列の インスタンスの表示 をクリックして、インスタンスへの接続 パネルで接続されているインスタンスを表示します。