Это правило отмечает поля с модификатором transient в классах, имеющих аннотацию @SessionScoped.
В реализации Contexts and Dependency Injection (CDI) 1.0 OpenWebBeans
приложению разрешено задавать значения полей transient прямо в
EJB, действующих в пределах сеанса. В реализации CDI 1.2 Weld поле
transient, значение которого было задано напрямую, не будет
заполнено после аварийного переключения, что может привести к непредсказуемым
результатам в приложении.
Убедитесь в том, что все отмеченные этим правилом поля
transient задаются только с помощью метода, предусмотренного в том
классе, который их содержит. Если для поля не предусмотрен метод set, добавьте
его и используйте вызов этого метода, вместо того чтобы задавать значение поля
напрямую.
В следующем примере класс UserBean имеет аннотацию @SessionScoped.
Этот класс содержит поле с модификатором transient, которое задается с помощью метода set.
|
За дополнительной информацией о реализации CDI 1.2 в Java Platform, Enterprise Edition (Java EE) 7 обратитесь к документу Contexts and Dependency Injection 1.2: изменение принципов работы.