【问题标题】:enverse-how to customize user id in customized revision listnerenverse-如何在自定义修订监听器中自定义用户 ID
【发布时间】:2017-09-01 01:22:34
【问题描述】:

我正在将 jpa 与微服务的休眠环境一起使用。 我试过了

public class MyRevisionEntityListener implements RevisionListener {
  @Override
  public void newRevision(Object revisionEntity) {
    // If you use spring security, you could use SpringSecurityContextHolder.
    final UserContext userContext = UserContextHolder.getUserContext();
    MyRevisionEntity mre = MyRevisionEntity.class.cast( revisionEntity );       
    mre.setUserName( userContext.getUserName() );
  } 
}

它更好地保存用户名。但是我想在另一个微服务更新记录时将用户名保存为“系统”,当用户更新时应该保存用户名如上。如何根据我的要求自定义上述代码

【问题讨论】:

    标签: jpa spring-boot spring-security microservices hibernate-envers


    【解决方案1】:

    根据您提供的代码,最合乎逻辑的做法可能是简单地向您的 UserContext 线程局部变量添加一个布尔标志,然后在侦听器中简单地检查它。

    默认情况下,此标志为 false,但对于您的特殊微服务或业务用例,您可以临时更改该状态,运行您的流程,并在完成后清除该状态,非常类似于 Web 过滤器链的工作原理网络应用程序。

    【讨论】:

      猜你喜欢
      • 2011-11-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-19
      • 2011-10-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多