0

我正在使用jpa和hibernate微服務。 我試圖反向 - 如何在自定義修訂列表中自定義用戶標識

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()); 
    } 
} 

它保存的用戶名better.but我想用戶名保存爲「通過系統」上,當其他微服務更新記錄,當用戶更新應該保存用戶名above.how定製以上代碼作爲我的要求

回答

0

這似乎是最合乎邏輯的基於您提供的代碼可能只是簡單地添加一個布爾標誌UserContext線程局部變量,並只需檢查內部的偵聽器。

默認情況下,此標誌將爲false,但對於您特殊的微服務或業務用例,您可以暫時修改該狀態,運行流程並在完成後清除該狀態,非常類似於Web過濾器鏈在web應用程序中。