Получение статуса выполнения задания через jmx
Через Jmx я выбираю название класса, метод и ссылку на класс в папке и периодичность её выполнения, моя задача состоит в том что мне нужно добавить функцию проверки статуса выполнения задачи, то есть допустим у меня есть задача выводящая текст, я выставляю чтоб каждые 4 секунды она выполнялась, теперь мне нужно добавить новую функцию, которая будет проверять 1.выпонляется ли она 2.не выполняется 3.в случае её не нахождения по пути выдавать ошибку.... Сам по себе tasks у меня runnable, подскажите пожалуйста реализацию данной задумки
import java.net.URL;
import java.net.URLClassLoader;
import java.nio.file.Files;
import java.nio.file.Path;
public class tasks implements Runnable{
private final String mainClass;
private final String classpath;
private final String[] args;
private final String name;
private ClassLoader loader;
public tasks(String name, String classpath, String mainClass, String[] args) {
this.name = name; //название метода
this.mainClass = mainClass;
this.classpath = classpath; //ссылка на класс
this.args = args;
}
private ClassLoader newLoader(String dir) throws Exception {
var path = Path.of(dir);
if (!Files.isDirectory(path))
throw new RuntimeException();
return new URLClassLoader(new URL[] { path.toUri().toURL() }); //берём класс
}
@Override
public void run() {
try {
while (true){
loader = newLoader(classpath);
var clazz = loader.loadClass(mainClass);
clazz.getMethod(name).invoke(null); //берём метод
}
} catch (Exception e) {
e.printStackTrace();
} }
}
