Как получить замок и заставить его через некоторое время освободить? Джава - PullRequest
0 голосов
/ 20 октября 2011

У меня проблема с взаимоблокировками базы данных и Java-потоков, поэтому можно ли установить некоторое время для блокировки Java-потока внутри блокировки, а затем отпустить его, чтобы предотвратить зависание всей системы? С помощью этого трюка я хочу снять блокировку в БД, чтобы вернуть систему к нормальному рабочему процессу, и неважно, что какой-то запрос не будет выполнен ...

Ответы [ 2 ]

0 голосов
/ 20 октября 2011

Если ваша база данных поддерживает тайм-аут ожидания (блокировки), убедитесь, что он настроен, или используйте опцию nowait, если она доступна (которая немедленно сообщит об ошибке блокировки)

0 голосов
/ 20 октября 2011

Попробуйте Statement.setQueryTimeout().

Тем не менее, в большинстве случаев это следует рассматривать скорее как хак, а не как правильное решение. Как сказал @ lobster1234, найдите и устраните основную причину.

...