Skip to content

Instantly share code, notes, and snippets.

@fmbenhassine
Last active May 24, 2018 21:00
Show Gist options
  • Save fmbenhassine/0764ec4fc6061b1d5d0cb412e876b414 to your computer and use it in GitHub Desktop.
Save fmbenhassine/0764ec4fc6061b1d5d0cb412e876b414 to your computer and use it in GitHub Desktop.
Easy Batch Jmx push notification sample #EasyBatch
  • make sure to use version 4.2.0+

  • run JmxJob.java with the following arguments: -Dcom.sun.management.jmxremote.port=9999 -Dcom.sun.management.jmxremote.local.only=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false

  • run JmxJobMonitor.java

import org.easybatch.core.job.Job;
import org.easybatch.core.job.JobBuilder;
import org.easybatch.core.job.JobExecutor;
import org.easybatch.core.job.JobReport;
import org.easybatch.core.processor.RecordProcessor;
import org.easybatch.core.reader.IterableRecordReader;
import org.easybatch.core.record.Record;
import static java.util.Arrays.asList;
public class JmxJob {
public static void main(String[] args) {
Job job = JobBuilder.aNewJob()
.reader(new IterableRecordReader(asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)))
.processor(new RecordProcessor() {
@Override
public Record processRecord(Record record) throws Exception {
System.out.println("processing record " + record.getHeader().getNumber());
Thread.sleep(20000);
return record;
}
})
.enableJmx(true)
.build();
JobExecutor jobExecutor = new JobExecutor();
JobReport report = jobExecutor.execute(job);
System.out.println(report);
jobExecutor.shutdown();
}
}
import org.easybatch.core.jmx.JobMonitorProxy;
import org.easybatch.tools.monitoring.CliJobMonitoringListener;
import java.util.Scanner;
public class JobMonitor {
public static void main(String[] args) {
JobMonitorProxy jobMonitor = new JobMonitorProxy("localhost", 9999, "job");
jobMonitor.addMonitoringListener(new CliJobMonitoringListener());
Thread thread = new Thread(jobMonitor);
thread.start();
System.out.println("Press any key to exit");
new Scanner(System.in).nextLine();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment