Page tree

@Lock

Введем аннотацию @Lock(name=<lock_name>, terminated=[true,false], acquireBefore=<array_of_names>, acquireAfter=<array_of_names>)

Например, 

 

@Lock(name = ”user", acquireBefore = "account", 
	  acquireAfter = {"agent", "cluster"})

Необходимо проверять заданную иерархию блокировок в процессе работы программы (это не связано с текущей функциональностью Dl-Check). Так же, если блокировка помечена как terminated, то после ее взятие не должны браться другие блокировки.

@GuardedBy

Необходимо проверять правила доступа к полям/методам, заданные аннотацией @GuardedBy. Дополнительно научим понимать имя блокировки, которое задается аннотацией @Lock.

  • No labels