-
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
Last active
May 24, 2018 21:00
-
-
Save fmbenhassine/0764ec4fc6061b1d5d0cb412e876b414 to your computer and use it in GitHub Desktop.
Easy Batch Jmx push notification sample #EasyBatch
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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(); | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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