如何自动从外部jar运行Java任务?

时间:2019-04-13 12:30:30

标签: java spring annotations

我想生成一个Java jar,当它包含在另一个项目的类路径中时,它将启动一个在后台执行某些操作的定期任务。 这与eureka客户程序非常相似。您包括依赖项并添加注释,此后将自动启动服务以轮询eureka服务器。 我该怎么办?

编辑:按照注释中提供的示例

,我可以使用maven进行工作。
  • github.com/shauank/spring-boot/tree/master/client(具有taskexecutor的客户端)
  • github.com/shauank/spring-boot/tree/master/application(使用在step1中创建的jar的应用程序)

1 个答案:

答案 0 :(得分:1)

您可以使用自动配置的概念。 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生成,并包含在另一个spring boot项目中。

因此,当您运行另一个jar时,spring boot将在spring.factories类上寻找自动配置并加载其中定义的类。