Я пишу приложение, которое предоставляет некоторые функции через службу REST.
Для этого я использую Spring Boot 2, но как лучше всего поместить его в производственную среду?
Хорошая идея запустить банку с помощью Java?
Вы можете сделать его полностью исполняемым с помощью приведенного ниже кода в вашем pom.xml.Вы можете запустить его с помощью сценария оболочки или в качестве службы systemv или initd [ Spring Boot DOC] .Это лучший учебник ссылка, которую я нашел, объясняющая множественный запуск в качестве параметров сервиса.Возможно, вы захотите взглянуть на Spring Doc для готовых функций производства .
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <executable>true</executable> </configuration> </plugin> </plugins> </build>
Краткий ответ
да, это хорошая идея.
Длинный ответ
Spring Boot имеет плагин, который добавляет служебный скрипт (Unix-совместимый) в сам файл JAR. Это делает исполняемый файл JAR в среде Unix / Linux, и вы можете легко установить его как сервис. Выдержка из https://docs.spring.io/spring-boot/docs/current/reference/html/deployment-install.html следует:
Чтобы создать «полностью исполняемый» jar с Maven, используйте следующую конфигурацию плагина:
<plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <executable>true</executable> </configuration> </plugin> </plugins>
Если упаковка для Windows, сценарий запуска не очень полезен и может быть опущен. Вам нужно будет запустить java -jar ... в Windows или установить служебную оболочку. Еще один отрывок из документа Spring Boot:
java -jar ...
Приложение Spring Boot можно запустить как службу Windows, используя winsw . A ( отдельно поддерживаемый образец ) описывает пошаговые инструкции по созданию службы Windows для приложения Spring Boot.
Приложение Spring Boot можно запустить как службу Windows, используя winsw .
A ( отдельно поддерживаемый образец ) описывает пошаговые инструкции по созданию службы Windows для приложения Spring Boot.