이 규칙은 @SessionScoped 어노테이션이 있는 클래스의 transient 수정자가 있는 필드에 플래그를 지정합니다.
CDI(Contexts and Dependency Injection) 1.0 OpenWebBeans 구현에서 애플리케이션은 transient 필드를
세션 범위 Bean에서 직접 설정할 수 있습니다. CDI 1.2 Weld 구현에서는 transient 필드를 직접 설정해도
장애 복구 후에 필드가 채워치지 않으며, 이는 사용자의 애플리케이션에 예기치 않은 작동을 유발할 수 있습니다.
이 규칙에 의해 플래그 지정된 각 transient 필드가 포함 클래스에서 제공한 메소드를 사용해서만
설정되었는지 확인하십시오. 필드에 대한 set 메소드가 없는 경우, 필드를 직접 설정하는 대신에 set 메소드를 추가하고
이를 호출하십시오.
다음 예제에서 UserBean 클래스는 @SessionScoped 어노테이션이 있습니다. 클래스에는 setter 메소드를 사용하여 설정된 임시 수정자가 있는 필드도 포함되어 있습니다.
@Named(값 = "userBean")
@SessionScoped 공용 클래스 UserBean 은 UserInterface구현, Serializable {
문자열 이름; 임시 문자열 nickName;
...
public void setNickName (String nick) {
nickName = nick;
} }
Java 플랫폼, Enterprise Edition(Java EE) 7 CDI 1.2 구현에 대한 자세한 정보는 Contexts and Dependency Injection 1.2 동작 변경사항을 참조하십시오.