使用Spring MVC监视用户活动(更新/删除)

时间:2017-02-02 11:31:40

标签: java mysql mongodb spring-mvc java-ee

我当前的项目(基于Spring MVC)要求监控用户活动,如更新,删除等。 我想/寻找一种api方法,其中我可以传递命令和实体对象。比较它们的值并将它们与字段名称一起存储在数据库中。 如果有人可以使用 java with MongoDB或MySQL作为后端来引导我或建议最佳方法,那将是很棒的。

提前致谢

1 个答案:

答案 0 :(得分:1)

如果您打算监控各种活动,例如更新,删除等您可以执行以下操作:

@Service
public class MyUpdateServiceClass {
  //Check for preconditions
  LogActivity.logUserActivity(oldObject, newObject);
}

@Service
public class MyDeleteServiceClass {
  //Check for preconditions
  LogActivity.logUserActivity(T oldObject, T newObject);
}

public interface LogActivity {
  public void logUserActivity(T oldObject, T newObject);
}

public class LogUpdateActivity implements LogActivity {
  @Override
  public void logUserActivity(T oldObject, T newObject) {
    //Use reflection to get all the fields and iterate and check for    modifications and then log accordingly
}

public class LogDeleteActivity implements LogActivity {
  @Override
  public void logUserActivity(T oldObject, T newObject) {
    //Simply log delete, or whatever your requirement is
}

根据您来自用户的传入请求,您可以创建工厂以在服务方法中生成LogActivity接口的相应实现。您只需创建一个新实现即可轻松扩展LogActivity。

我希望这会有所帮助。