【问题标题】:Spring Boot. How to disable Initialization of JPA Conditionaliy弹簧靴。如何有条件地禁用 JPA 的初始化
【发布时间】:2015-09-15 15:43:38
【问题描述】:

如果有可能完全禁用 JPA Stack 的初始化,我会很高兴。

在某些情况下,我的应用程序是在无法访问数据库的环境中执行的。应用程序可以在应用程序级别上存活下来。 但从技术上讲,我对数据源的初始化有一些例外。

  1. 必须有某种方法来完全禁用 JPA 初始化(如果没有 db,则不需要。通过配置文件或类似的方式。
  2. 或者至少我可以说连接池不连接或类似的东西。
  3. 其他想法?

【问题讨论】:

    标签: spring spring-boot spring-data-jpa


    【解决方案1】:

    是的,您可以为此使用配置文件:一个带有 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

    【讨论】:

    • 是的,但是如何有条件地将“排除”到 Profile。其次:如何处理Autowired。是否意味着需要定制工厂?也许一些例子可以帮助我
    • spring.autoconfigure.excludesEnableAutoConfiguration(exclude = ) 的类似物,可用于application.properties。只需将其放在application-nodb.properties 文件中,其中nodb 是配置文件的名称。
    • 这里我尝试排除DataSourceAutoconfig,(所以它不会尝试建立连接)spring.autoconfigure.excludes=org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration。但它不起作用,没有改变行为。也尝试过 DataSourceAutoConfiguration... Spring boot 1.3.0.M5
    • 使用--debug 运行应用程序:是否显示为已启用?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-12-22
    • 1970-01-01
    • 2018-02-14
    • 1970-01-01
    • 2019-05-03
    • 2021-04-20
    • 1970-01-01
    相关资源
    最近更新 更多