Я развертываю приложение SpringBoot в контейнере Tomcat 8.5. Как описано здесь: http://docs.spring.io/spring-boot/docs/current/reference/html/howto-traditional-deployment.html Я модифицировал свой SpringBootApplication, поэтому он развертывается как война.Настройка Spring @Profile от JNDI для SpringBoot
@SpringBootApplication
public class Application extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(Application.class);
}
}
похож на этот вопрос Activating Spring @Profile Using JNDI я wan't приложение для выбора активного профиля с помощью записи JNDI.
Я добавил EnvironmentApplicationContextInitializer
, идентичный показанному в принятом ответе.
Однако: я не использую никаких web.xml
. Таким образом, профиль не подбирается и не используется.
Как создать SpringBootApplication с помощью EnvironmentApplicationContextInitializer
?
Вам это не нужно ... Просто зарегистрируйте 'SPRING_PROFILES_ACTIVE' как запись JNDI (или' spring.profiles.active'), и она будет считана. Тебе ничего не нужно. –
Спасибо, но (похоже на вопрос связан) Я должен повторно использовать уже существующую запись JNDI, и сопоставление этой записи также не является вариантом. Так что я хотел бы знать, как получить принятое решение в связанном вопросе, работая с весенним ботинком. – CyclingSir
Добавьте его как 'initializer'. –