Проблема: я готовлю приложение с одним экземпляром, чтобы оно стало многоэкземплярным.Существует множество способов использования Lock
(из пакета java.util.concurrent.locks
) для синхронизации доступа к некоторым ресурсам (внешним файлам на другом сервере).Теперь для синхронизации ReentrantLock
используется реализация Lock
.
Чтобы разделить блокировки между экземплярами, я хочу использовать таблицу базы данных PostgreSQL, которая уже подключена через JDBC.Поскольку все потребители используют только интерфейс Lock
(не использует класс ReentrantLock
напрямую), я хочу заменить реализацию Lock
на Lock
на основе таблицы базы данных.
Как правильно реализовать Lock
на основе таблицы базы данных?Или, может быть, существует какая-либо стандартная java.util.concurrent.locks.Lock
реализация, основанная на JDBC?
ОБНОВЛЕНИЕ: Я не ищу механизм блокировки таблиц (как в Блокировка таблиц в PostgreSQL вопрос), мне нужна реализация Lock
, чтобы использовать его в коде, а не в SQL.