質問

私はすでに、UIを介してユーザによって更新された監査エンティティに休止状態Enversを使用しています。しかし、私はまた、バックグラウンドで実行されている非同期ジョブを持っているとEnversを使用して同様にそれらを監査したいと思います。さて、UIのために、私は、HttpRequestのは、バックグラウンドジョブのために私に日付、ユーザー、セッション、などを与える変更を行ったかを追跡、私は仕事がそれを変更し、正確な仕事だけでなく、実行された日付を追跡したいと思います(ジョブ・クラス)。

は、セットアップ2監査エンティティ、UIのための1にそれが可能であり、システム変更のための1?

ウォルター

役に立ちましたか?

解決

私はまだこれをテストしていませんが、私は単純に次のことをやってます:

@RevisionListener(SystemRevisionListener.class)
@Entity
public class SystemRevision extends AbstractRevision
{
   @Column(nullable = false, updatable = false)
   protected QuartzTriggerHandle job;

   @Column(nullable = false, updatable = false)
   protected Class jobClass;

   ...
}



@RevisionListener(WebRevisionListener.class)
@Entity
public class WebRevision extends AbstractRevision
{
   @ManyToOne(optional = false)
   @JoinColumn(nullable = false, updatable = false)
   protected HttpRequest httpRequest;

   ...
}

次に、各リスナーに、私はこれらのプロパティを設定するために必要なものは何でも。私は今、ユーザーが変更を行った場合、変更された(そして何要求し、それがに結びついている)としてどのようにエンティティを追跡することができ、またはシステムがエンティティを変更した場合、どのような仕事は、変更する責任があるはずです。私が最も可能性が高い引数とメソッド名、これよりSystemRevisionで複数のプロパティを保存することになる。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top