Jika Anda menggunakan SchedulerX di wilayah Internet, Anda dapat menghubungkan mesin atau container yang memiliki akses ke Internet ke SchedulerX. Misalnya, Anda dapat menghubungkan mesin pihak ketiga atau lingkungan pengembangan on-premises yang memiliki akses ke Internet ke SchedulerX. Topik ini menjelaskan cara menghubungkan ke SchedulerX melalui Internet dari lingkungan on-premises untuk keperluan pengujian dan pengembangan.
Prasyarat
SchedulerX telah diaktifkan. Untuk informasi selengkapnya, lihat Aktifkan SchedulerX.
Sumber daya telah dibuat. Untuk informasi selengkapnya, lihat Buat sumber daya.
CatatanPastikan Anda memilih wilayah Internet saat membuat aplikasi.
Prosedur
Tambahkan dependensi SchedulerxWorker ke file pom.xml aplikasi. Konfigurasi untuk menginisialisasi SchedulerxWorker berbeda tergantung pada jenis aplikasi:
Aplikasi Java atau Spring
<dependency> <groupId>com.aliyun.schedulerx</groupId> <artifactId>schedulerx2-worker</artifactId> <version>${schedulerx2.version}</version> <!--Jika Anda menggunakan logback, exclude log4j dan 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>Aplikasi Spring Boot
Dapatkan konfigurasi akses aplikasi, seperti wilayah Internet dan titik akhir acm.aliyun.com.
Masuk ke konsol SchedulerX. Di bilah navigasi atas, pilih wilayah Internet dari daftar drop-down.
Di panel navigasi sebelah kiri, klik Application Management. Pada halaman Application Management, temukan aplikasi yang ingin Anda kelola lalu klik Access configuration di kolom Operation.


Dari daftar drop-down, pilih metode akses untuk mendapatkan konfigurasi akses. Konfigurasi akses yang ditampilkan berbeda tergantung pada metode akses yang dipilih. Kotak persegi panjang ① pada gambar di atas menunjukkan daftar drop-down tersebut.
Inisialisasi SchedulerxWorker. Konfigurasi untuk menginisialisasi SchedulerxWorker berbeda tergantung pada jenis aplikasi:
Aplikasi Java
Inisialisasi SchedulerxWorker menggunakan fungsi main.
public void initSchedulerxWorker() throws Exception { SchedulerxWorker schedulerxWorker = new SchedulerxWorker(); schedulerxWorker.setEndpoint("xxxx"); schedulerxWorker.setNamespace("xxxx"); schedulerxWorker.setGroupId("xxxx"); //Jika versi agent Anda 1.2.1 atau lebih baru, tentukan application key. schedulerxWorker.setAppKey("xxxx"); schedulerxWorker.init(); }Di panel Access configuration, klik One click copy untuk menyalin konfigurasi akses ke file konfigurasi tujuan, atau ganti nilai
schedulerxWorker.setEndpoint,schedulerxWorker.setNamespace,schedulerxWorker.setGroupId, danschedulerxWorker.setAppKeydengan nilai yang diperoleh di Langkah 2.CatatanJika sebuah aplikasi menyediakan beberapa layanan atau Anda ingin mengklasifikasikan pekerjaan terjadwal suatu aplikasi, Anda dapat membuat beberapa kelompok. Misalnya, buat kelompok bernama
animals.dogsdan kelompok bernamaanimals.catsuntuk aplikasianimals. Dalam kasus ini, Anda tidak perlu menambahkan instans secara terpisah ke masing-masing kelompok. Cukup tambahkan nama kelompok tersebut ke bagiangroupId=dalam konfigurasi agent aplikasi. Contoh:groupId=animals.dogs,animals.cats.Saat menginisialisasi SchedulerxWorker, Anda dapat menambahkan konfigurasi lainnya. Untuk informasi selengkapnya, lihat Parameter SchedulerxWorker.
Aplikasi Spring
Inject bean SchedulerxWorker ke dalam file konfigurasi XML aplikasi.
<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> <!--Jika versi agent Anda 1.2.1 atau lebih baru, Anda harus menentukan application key. --> <property name="appKey"> <value>${appKey}</value> </property> </bean>Di panel Access configuration, klik One click copy untuk menyalin konfigurasi akses ke file konfigurasi tujuan, atau ganti nilai
${endpoint},${namespace},${groupId}, dan${appKey}dengan nilai yang diperoleh di Langkah 2.Aplikasi Spring Boot
Tambahkan konfigurasi berikut ke file application.properties:
spring.schedulerx2.endpoint=${endpoint} spring.schedulerx2.namespace=${namespace} spring.schedulerx2.groupId=${groupId} # Jika versi agent Anda 1.2.1 atau lebih baru, tentukan application key. spring.schedulerx2.appKey=${appKey}Di panel Access configuration, klik One click copy untuk menyalin konfigurasi akses ke file konfigurasi tujuan, atau ganti nilai
${endpoint},${namespace},${groupId}, dan${appKey}dengan nilai yang diperoleh di Langkah 2.CatatanJika sebuah aplikasi menyediakan beberapa layanan atau Anda ingin mengklasifikasikan pekerjaan terjadwal suatu aplikasi, Anda dapat membuat beberapa kelompok. Misalnya, buat kelompok bernama animals.dogs dan kelompok bernama animals.cats untuk aplikasi animals. Dalam kasus ini, Anda tidak perlu menambahkan instans secara terpisah ke masing-masing kelompok. Cukup tambahkan nama kelompok tersebut ke bagian
groupId=dalam konfigurasi agent aplikasi. Contoh:groupId=animals.dogs,animals.cats.Buat kelas
JavaProcessordi dalam aplikasi untuk mengimplementasikan penjadwalan tugas.Kode contoh berikut menunjukkan cara mengimplementasikan kelas JavaProcessor yang mencetak
hello schedulerx2.0sesuai jadwal: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); } }Jalankan aplikasi di lingkungan on-premises.
Verifikasi hasil
Publikasikan aplikasi ke Alibaba Cloud setelah aplikasi terhubung ke SchedulerX.
Masuk ke konsol SchedulerX.
Di bilah navigasi atas, pilih wilayah.
Di panel navigasi sebelah kiri, klik Application Management.
Lihat Total number of instances pada halaman Application Management.
Jika kolom Total number of instances menampilkan angka 0, berarti aplikasi belum terhubung ke SchedulerX. Periksa dan perbaiki aplikasi on-premises Anda.
Jika kolom Total number of instances tidak menampilkan angka 0, berarti aplikasi Anda telah terhubung ke SchedulerX. Klik View instances di kolom Operation untuk melihat instans di panel Connect to an instance.