我在Tomcat環境中使用Hibernate Envers。它工作正常。不過,我需要能夠添加更改要審計的數據的用戶的用戶名。這可以通過實現您自己的RevisionEntity版本來完成。然後你還必須實現一個定製的RevisionListener
,它將填充你想要審覈的額外信息。我需要審覈已更改要審覈的數據的用戶名。在文檔中,它是一個關於如何使用Seam來做到這一點的例子。在RevisionListener
他們呼籲:Envers定製修訂監聽器
Identity identity = (Identity) Component.getInstance("org.jboss.seam.security.identity");
要獲得用戶名。在我的項目中,我們將項目拆分爲數據庫和網絡的獨立模塊。我需要在我的數據庫模塊中實現我的custum修訂偵聽器,以便能夠獲取當前登錄的用戶名。我無法將RevisionListener
移動到Web包,並從數據庫模塊引入對Web模塊的依賴。我如何以一種方式獲取當前用戶名,這種方式可以處理多個用戶在我的自定義版本監聽器中同時登錄?
最好的解決方案是在大多數容器中工作的解決方案。