Skip to content

Latest commit

 

History

History

Programming on Java Lab №7

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 

Programming on Java Lab №7

Доработать программу из лабораторной работы №6 следующим образом:

Организовать хранение коллекции в реляционной СУБД (PostgresQL). Убрать хранение коллекции в файле.

Для генерации поля id использовать средства базы данных (sequence).

Обновлять состояние коллекции в памяти только при успешном добавлении объекта в БД

Все команды получения данных должны работать с коллекцией в памяти, а не в БД

Организовать возможность регистрации и авторизации пользователей. У пользователя есть возможность указать пароль.

Пароли при хранении хэшировать алгоритмом SHA-256

Запретить выполнение команд не авторизованным пользователям.

При хранении объектов сохранять информацию о пользователе, который создал этот объект.

Пользователи должны иметь возможность просмотра всех объектов коллекции, но модифицировать могут только принадлежащие им.

Для идентификации пользователя отправлять логин и пароль с каждым запросом.

Необходимо реализовать многопоточную обработку запросов.

Для многопоточного чтения запросов использовать Cached thread pool

Для многопотчной обработки полученного запроса использовать создание нового потока (java.lang.Thread)

Для многопоточной отправки ответа использовать Cached thread pool

Для синхронизации доступа к коллекции использовать синхронизацию чтения и записи с помощью java.util.concurrent.locks.ReadWriteLock