Как автоматически запустить задачу Java из внешнего jar? - PullRequest
1 голос
/ 13 апреля 2019

Я хочу сгенерировать java jar, который при включении в classpath другого проекта будет запускать периодическую задачу, которая делает что-то в фоновом режиме.Это очень похоже на клиента eureka.Вы включаете зависимость и добавляете аннотацию, после которой сервис автоматически запускается для опроса сервера eureka.Как я могу это сделать?

Редактировать: я заставил его работать, используя maven, следуя примеру, приведенному в комментариях

  • github.com / shauank / spring-boot / tree /master / client (клиент, у которого есть taskexecutor)
  • github.com / shauank / spring-boot / tree / master / application (приложение, использующее jar, созданный в шаге 1)

1 Ответ

1 голос
/ 13 апреля 2019

Вы можете использовать концепцию Автоконфигурация .То же самое используется Eureka и сервером Config.

Под src/main/resource создайте spring.factories и добавьте следующую запись

org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
location.to.your.executor

Ваш класс,

pacakage location.to.your.executor

class MyExecutor{

  public MyExecutor(){
    //Your code for task executor
  }

}

Сейчас,Приведенный выше код может быть собран как jar и включен в другой загрузочный проект.

Итак, при запуске другого jar, spring boot будет искать автоконфигурацию для spring.factories класса и загружать классы, определенные в нем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...