В своем приложении Java, которое предоставляет API для моих клиентов, я создал систему авторизации между пользователями, сущностями, веб-службами и типами профилей.
Все эти разрешения сохраняются в таблице при запуске приложения, а затем обновляются, как только я создаю новое разрешение, или новый веб-сервис, или новый профиль
Объявить класс:
@Component("accessChecker")
@Scope("singleton")
public class AccessChecker {
Конструктор:
HashMap<String, List<Permission>> permissions = new HashMap<String, List<Permission>>();
public AccessChecker(PermissionRepository permissionRepository, WebServiceRepository webServiceRepository,
ProfilRepository profilRepository, UserRepository userRepository) {
super();
this.permissionRepository = permissionRepository;
this.webServiceRepository = webServiceRepository;
this.profilRepository = profilRepository;
this.userRepository = userRepository;
this.updatePermissions();
}
Метод в том же классе для загрузки данных!
public void updatePermissions() {
log.info("**** DEBUT MISE A JOUR DES PERMISSIONS");
List<Permission> permissionsTmp = permissionRepository.findAllWithEagerRelationships();
// clear permissions
this.permissions = new HashMap<String, List<Permission>>();
// load all permissions
for (Permission permission : permissionsTmp) {
Profil profil = profilRepository.findOne(permission.getProfil().getId());
....
Проблема, с которой я столкнулся в последнее время, заключается в том, что я чувствую, что время от времени теряю часть контента. Иногда клиент звонит мне и говорит, что у него нет доступа к данным. Перезагружая разрешения путем создания разрешения. После этого все кажется в порядке
У вас есть идеи, почему я теряю эти данные?
Мое приложение развернуто на Heroku