Im Попробуйте создать образец задания по расписанию, покупайте задачу, а не выполняйте.
в чем дело?
@ApplicationScoped
public class CustomApplication extends Application {
@Override
public Set<Class<?>> getClasses() {
Set<Class<?>> classes = new HashSet<Class<?>>();
classes.add(FileService.class);
return classes;
}
}
public class FileService {
public void schedulerFeature() throws InterruptedException {
Scheduling.fixedRateBuilder()
.delay(4)
.initialDelay(2)
.timeUnit(TimeUnit.SECONDS)
.task(inv -> {
System.out.println("Running in:" + Thread.currentThread().getName());
System.out.println("Every 4 seconds an action, with an initial delay");
})
.build();
Thread.sleep(12000);
}
}
Im Попробуйте создать образец задания по расписанию, покупайте задачу, а не выполняйте.
Я не знаю, какую версию Helidon вы используете, и, следовательно, я не знаю, какую версию JAX-RS/Jakarta RESTful Web Services вы используете. Для простоты и краткости я предполагаю, что вы используете Helidon 3.x и , следовательно, Jakarta RESTful Web Services 3.0.0.
Это не вопрос Helidon, а основной вопрос JAX-RS/Jakarta RESTful Web Services. Вы действительно спрашиваете: «Почему мой класс FileService
не создан Джерси?»
Просматривая документацию для Application#getClasses(), мы видим, что она гласит: «Получить набор корневых ресурсов, провайдеров и классов объектов». Ваш класс FileService
не соответствует ни одному из этих требований, поэтому его просто игнорируют.
Еще немного догадываюсь: я вижу, вы используете слово «функция» в своем примере. Это говорит о том, что, возможно, вы хотите, чтобы этот класс действительно был настоящей функцией Jakarta RESTful Web Services Feature. Еще раз, документация здесь расскажет вам, что вам нужно знать, чтобы делать дальше.
Я пересмотрел свое приложение и импортировал неправильную библиотеку maven. Чтобы запланировать задание, необходимо импортировать артефакт microprofile scheduling maven:
<dependency>
<groupId>io.helidon.microprofile.scheduling</groupId>
<artifactId>helidon-microprofile-scheduling</artifactId>
<version>3.0.2</version>
</dependency>
import java.util.HashSet;
import java.util.Set;
@ApplicationScoped
public class CustomApplication extends Application {
@Override
public Set<Class<?>> getClasses() {
Set<Class<?>> classes = new HashSet<Class<?>>();
classes.add(FileService.class);
return classes;
}
}
import io.helidon.microprofile.scheduling.Scheduled;
import jakarta.enterprise.context.ApplicationScoped;
/**
* File service.
*/
@ApplicationScoped
public class FileService {
@Scheduled("0/2 * * * * ? *")
//@FixedRate(1)
public void schedulerFeature() {
System.out.println("Running");
}
}
Здравствуйте, пользователь: 20547477, если этот ответ решает вашу проблему, отметьте его как «ответил». Спасибо!