2015-09-15 2 views
4

Я осмеливаюсь, если можно отключить иналинизацию JPA Stack.Весенняя обувь. Как отключить инициализацию JPA Conditionaliy

В некоторой ситуации мое приложение выполнено в среде, где база данных недоступна. Приложение может выжить на уровне приложения. Но технически я получаю какое-то исключение при инициализации источника данных.

  1. там musst быть каким-то образом отключить JPA intialization на всех (не требуется withoud дб. По профилю или коснуться подобное.
  2. Или Maby по крайней мере, я могу сказать, пул соединения не подключать или somethinglike это.
  3. Другие идеи

ответ

7

Да, вы можете использовать профили для этого:. один с JPA и другой без него чтобы отключить DataSource/JPA автоконфигурацию вам нужно добавить spring.autoconfigure.excludes свойство (с полностью квалифицированными именами классов) в профиль application.properties.

Какие классы исключить? Я предлагаю начать с DataSourceAutoConfiguration, и если этого недостаточно, попробуйте отключить other database-related autoconfiguration classes.

Обратите внимание, что spring.autoconfigure.excludes новая функция, которая является avaiable since Spring Boot 1.3.0.M3

+0

Да, но как сделать, что «eclusion» ** conditionaly ** профиль. И во-вторых: как тогда иметь дело с _Autowired_. Будет ли необходимость в изготовлении заготовок? Может быть, некоторые exmaple помогают мне – aholbreich

+0

Ok Autowirede может иметь Required = false ... Теперь я хочу выяснить, как сделать EnableAutoConfiguration (exclude = DataSourceAutoConfiguration .class) условно, в зависимости от профиля – aholbreich

+1

'spring.autoconfigure.excludes' является аналоговым 'EnableAutoConfiguration (exclude =)', который может использоваться в 'application.properties'. Просто поместите его в файл 'application-nodb.properties', где' nodb' - это имя профиля. –

Смежные вопросы