0

J'utilise jpa avec hibernate envers de micro service. i essayéenverse-comment personnaliser l'ID de l'utilisateur dans la liste de révision personnalisée

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

il enregistre le nom d'utilisateur better.but je veux enregistrer le nom d'utilisateur que « par le système » lorsque les mises à jour du dossier par un autre service de micro et lorsque des mises à jour de l'utilisateur doit enregistrer le nom d'utilisateur comme above.how à personnaliser code ci-dessus comme mon exigence

Répondre

0

Il semblerait le plus logique basé sur votre code fourni pourrait être d'ajouter simplement un drapeau booléen à votre variable locale thread UserContext et simplement vérifier que dans l'écouteur. Par défaut, ce drapeau serait faux, mais pour votre microservice spécial ou votre cas d'utilisation professionnel, vous pouvez modifier cet état temporairement, exécuter votre processus et effacer cet état après avoir terminé, un peu comme une chaîne de filtres Web fonctionne dans les applications web.