【问题标题】:How to disable envers auditing for spring boot如何禁用 Spring Boot 的 envers 审计
【发布时间】:2019-07-02 09:02:57
【问题描述】:

我正在创建一个仅用于休眠实体的模块之一的 maven 多模块项目,问题是两个服务/api/maven_project 正在使用相同的模块,但一个需要审计,但另一个不需要,我如何保持我的代码完整(意味着,不更改或删除@Audited 注释),如何在运行时或编译时启用或禁用环境审计, 因为在我尝试过的所有事情之后,审计都适用于两个 api

我试过了

spring.jpa.properties.hibernate.integration.envers.enabled=false
spring.jpa.properties.hibernate.listeners.envers.autoRegister=false
spring.jpa.properties.hibernate.envers.autoRegisterListeners=false

hibernate.integration.envers.enabled=false
hibernate.listeners.envers.autoRegister=false
hibernate.envers.autoRegisterListeners=false

【问题讨论】:

  • 你能排除不需要审计的模块的 Envers 依赖吗? maven.apache.org/guides/introduction/…
  • 是的 Jens,但为了做到这一点,我必须更改所有具有 @audited 注释的实体类,并且我想保留它们以便将来使用或启用它们
  • 如果将依赖项设置为提供,它们将不会包含在 Spring Boot 可执行 JAR 中,并且不会发生审计,但代码会编译。
  • 包含实体的模块将保持依赖关系。字节码中存在的注释不是问题,因为在类路径中找不到的字节码中的注释会被忽略。
  • 感谢 Simon 和 Jens,它工作得很好,但是是否有任何其他选项可以通过 application.properties 启用或禁用审核,因为一段时间后,当像 A-> 那样引入另一个子模块/服务时,事情会变得一团糟B->C 其中A是实体模块B是服务(启用或禁用审计),C是另一个以B为依赖的服务(并且C有能力启用或禁用B的审计),只是想保持配置集中

标签: java hibernate-envers auditing


【解决方案1】:

根据buræquete的answer

spring.jpa.properties.hibernate.integration.envers.enabled=false

会做的。

“Non-Spring Data JPA”Hibernate 属性是通过配置的 spring.jpa.properties.hibernate.*

【讨论】:

    猜你喜欢
    • 2017-07-09
    • 2019-04-19
    • 2021-03-14
    • 2023-03-24
    • 2020-02-24
    • 2015-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多