Как запланировать работу helidon MP?

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 Попробуйте создать образец задания по расписанию, покупайте задачу, а не выполняйте.

Шаблоны Angular PrimeNg
Шаблоны Angular PrimeNg
Как привнести проверку типов в наши шаблоны Angular, использующие компоненты библиотеки PrimeNg, и настроить их отображение с помощью встроенной...
Создайте ползком, похожим на звездные войны, с помощью CSS и Javascript
Создайте ползком, похожим на звездные войны, с помощью CSS и Javascript
Если вы веб-разработчик (или хотите им стать), то вы наверняка гик и вам нравятся "Звездные войны". А как бы вы хотели, чтобы фоном для вашего...
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
Начала с розового дизайна
Начала с розового дизайна
Pink Design - это система дизайна Appwrite с открытым исходным кодом для создания последовательных и многократно используемых пользовательских...
Шлюз в PHP
Шлюз в PHP
API-шлюз (AG) - это сервер, который действует как единая точка входа для набора микросервисов.
14 Задание: Типы данных и структуры данных Python для DevOps
14 Задание: Типы данных и структуры данных Python для DevOps
проверить тип данных используемой переменной, мы можем просто написать: your_variable=100
1
0
64
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Я не знаю, какую версию 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. Еще раз, документация здесь расскажет вам, что вам нужно знать, чтобы делать дальше.

Здравствуйте, пользователь: 20547477, если этот ответ решает вашу проблему, отметьте его как «ответил». Спасибо!

Dmitry Alexandrov 23.11.2022 08:15
Ответ принят как подходящий

Я пересмотрел свое приложение и импортировал неправильную библиотеку 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");
    }

}

Другие вопросы по теме