-
-
Notifications
You must be signed in to change notification settings - Fork 11
Description
В текущей структуре библиотеки коннектор создаётся в одном экземпляре на менеджер сущностей и по одному коннектору на каждое хранилище сущностей. При работе с менеджером или хранилищем из нескольких потоков/фоновых заданий может возникнуть ситуация, что первый поток зафиксирует или отменит транзакцию второго потока.
Нужно сделать работу с транзакциями потокобезопасной.
Как вариант - добавить в менеджер и хранилища сущностей новый метод, возвращающий объект нового типа Соединение, который и будет в себе содержать ссылку на конкретный Коннектор.
Соединения должны получаться из общего пула соединений на базе приоритетной очереди из https://github.com/sfaqer/collectionos. Пул соединений хранится в менеджере сущностей. Все текущие операции в менеджере и хранилищах сущностей, напрямую работающие с коннектором, должны быть заменены на работу с соединением, полученным из этого пула.
В менеджер сущностей нужно добавить параметр для управления размером пула соединений.