У меня есть приложение Spring-Boot-Starter, которое я создал, которое запускается как CommandLineRunner, который запускается в Kubernetes как CronJob, что-то вроде:
@SpringBootApplication
@EnableAutoConfiguration
public class JobApplication implements CommandLineRunner {
Logger logger = LoggerFactory.getLogger(JobApplication.class);
public static void main(String[] args) {
ConfigurableApplicationContext context = SpringApplication.run(JobApplication.class, args);
context.close();
}
@Override
public void run(String... args) throws Exception {
// run the job
}
}
В настоящее время я запускаю приложение в Dockerfile, как этоти все работает нормально.
CMD java -jar /job/job.jar
В этом приложении есть некоторый код базы данных и DTO, которые я хотел бы использовать и представить в качестве веб-службы Spring, в идеале внутри той же кодовой базы, поэтому мне не нужносоздайте несколько репозиториев Github и Java-проектов и опубликуйте совместно используемую библиотеку.Я хотел бы сделать это простым и просто иметь возможность компилировать и использовать их напрямую.
Есть ли способ сделать это?Я думаю, что мне нужен второй класс WebApplication, но тогда я не уверен, как его выполнить, поэтому он использует его вместо Job.
Если нет, есть ли рекомендуемый подход для выполнения того, что я хочусделать (создание нескольких jar-файлов - это нормально, если это единственный способ ... но я бы очень хотел сохранить весь код в одном проекте)?