すべてのプロダクト
Search
ドキュメントセンター

Microservices Engine:SchedulerX への Spring アプリケーションの接続

最終更新日:Apr 07, 2025

このトピックでは、Spring アプリケーションを SchedulerX に接続する方法について説明します。この方法で、SchedulerX を使用してアプリケーションのジョブをスケジュールできます。

始める前に

Spring アプリケーションの SchedulerX へのエージェントの接続

  1. アプリケーションの pom.xml ファイルに SchedulerxWorker 依存関係を追加します。

    次のサンプルコードの schedulerx2.version をエージェントの最新バージョンに置き換えます。詳細については、「エージェントのリリースノート」をご参照ください。

    <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>
          <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>              
  2. XML 設定ファイルに Bean を挿入して、SchedulerxWorker を初期化します。

    • SchedulerxWorker を初期化するには、アプリケーションがデプロイされているリージョンと一致するエンドポイントを指定する必要があります。詳細については、「エンドポイント」をご参照ください。

    • namespace は、アプリケーションが属する名前空間の ID を指定します。名前空間 ID は、SchedulerX コンソールの [名前空間] ページで確認できます。

    • groupId はアプリケーションのグループ ID を指定し、appKey はアプリケーションのキーを指定します。グループ ID とアプリケーションキーは、SchedulerX コンソールの [アプリケーション管理] ページで確認できます。また、アプリケーションの [操作] 列にある [アクセス設定] をクリックして、アクセスモードの設定情報を確認することもできます。

      image..png

    <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>
    説明
    • アプリケーションが複数のサービスを提供する場合、またはアプリケーションのスケジュールジョブを分類する場合は、複数のグループを作成できます。たとえば、アプリケーション animals に対してグループ animals.dogsanimals.cats を作成しました。この場合、2 つのグループにワーカーを個別に追加する必要はありません。エージェントの設定で groupId= に 2 つのグループを追加できます。例: groupId=animals.dogs,animals.cats

    • SchedulerxWorker を初期化するときに、他の設定を追加できます。詳細については、「SchedulerxWorker パラメーター」をご参照ください。

  3. ジョブをスケジュールするために、アプリケーションで JobProcessor クラスを作成します。

    次のコードは、JobProcessor クラスを、「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"); // "hello schedulerx2.0" を出力します。
            return new ProcessResult(true);
        }
    }              

結果の確認

  1. アプリケーションが SchedulerX に接続された後、アプリケーションを Alibaba Cloud に公開します。

  2. SchedulerX コンソール にログインします。

  3. 上部のナビゲーションバーで、リージョンを選択します。

  4. 左側のナビゲーションペインで、[アプリケーション管理] をクリックします。

  5. [インスタンスの総数][アプリケーション管理] ページで表示します。

    • [インスタンスの総数] 列に 0 が表示されている場合は、アプリケーションは SchedulerX に接続されていません。オンプレミスアプリケーションを確認して修正してください。

    • [インスタンスの総数] 列に 0 以外の値が表示されている場合は、アプリケーションは SchedulerX に接続されています。[操作] 列の [インスタンスの表示] をクリックすると、[インスタンスへの接続] パネルにインスタンスが表示されます。

次のステップ

アプリケーションが SchedulerX に接続された後、SchedulerX コンソールでジョブを作成できます。詳細については、「ジョブ管理」トピックの「ジョブの作成」セクションをご参照ください。