hashMap의 Managed-Bean 빌드로 돌아 왔습니다. (Creating a HashMap of type <String , Object>) 내가 관리되는 bean이 해시 맵의 응용 프로그램 범위 변수를 생성하는 클래스Managed Bean 우수 사례
public class AppProperties {
private String appRepID;
private String helpRepID;
private String ruleRepID;
private String filePath;
private Vector formNames;
private Database appDB;
// all the getters and setters
}
을 정의했습니다. Bean의 생성자에서 나는 여러 다른 장소에서 모든 정보를 수집하여 각 응용 프로그램 (키)에 대한 값을 만듭니다. repIDs 꽤 똑바로 전달됩니다. AppBD를 Application Scope 변수에 저장하는 것이 현명한 질문입니다. 스코프 된 변수에 Notes 객체를 저장해서는 안된다는 것을 읽었습니다. 여기에 문제가 있습니까? 둘째, 그런 경우라면 AppProperties에 DatabaseByReplicaID를 열 수있는 메소드를 추가 할 수 있습니다. 애플리케이션 데이터베이스를 가져 오는 메소드가 호출되면 데이터베이스 객체가 많은 수의 호출을 받게되므로 공정에 약간의 오버 헤드가 추가됩니다. 응용 프로그램의 수명주기에 많은 시간.
또한 bean은 요청 사이에 값을 저장하고 다시 가져와야하기 때문에 java.io.Serializable을 구현해야합니다. –
@Paul - 예. My Bean이 수행합니다. 내 클래스 AppProperties는 Bean으로 가져옵니다. 그래서 AppProperties 클래스가 Bean에 의해 직렬화 될 것이라고 가정합니다. –
예. 직렬화 된 객체로 가져 오려면 직렬화되어야합니다. –