2011-01-06 5 views
0

풀링 된 데이터 소스로 DAO 팩토리를 구성하는 것과 관련하여 약간의 조언을 받았습니다. 그것의 JDBC DAO 팩토리 (추상 팩토리에서)와 풀링 된 데이터 소스가 애플리케이션 서버에 의해 설정되고 관리된다고 가정하십시오. Glassfish풀링 된 데이터 소스로 DAO 팩터 리 구성하기

처음으로 팩토리가 생성되면 (싱글 톤 패턴) 풀링 된 데이터 소스에 대한 JNDI 조회가 수행됩니다. JDBC DAO 팩토리에서 풀링 된 데이터 소스를 설정할 속성 파일에서 가져온다.

그런 다음 구체적인 DAO를 인스턴스화하고 반환하면 datasource에 대한 참조를 전달하여 데이터베이스 연결을 검색 할 수 있습니까?

답변

0

기본적으로 DAO라는 기본 클래스의 필드로 해당 데이터 소스를 캡슐화했습니다. DAO의 생성자에서 원하는 연결의 JNDI 이름을 전달합니다.

public DAO(String jndiName) throws NamingException { 
    ds = DataSourceFactory.getInstance().lookup(jndiName); 
} 

그렇다면 모든 구체적인 클래스에서 DAO에서 확장하고 원하는대로 데이터 소스를 사용할 수 있습니다.

public concreteDAO() throws NamingException { 
    super("Some JNDI Name That this DAO should know"); 
} 

동일한 DAO 클래스에는 결과 집합, 문 및 연결을 자동으로 닫는 정리 메서드와 같은 다른 유틸리티 메서드가 있습니다. 그래서 저는 모든 메소드의 finally 절에 이것을 추가해야합니다.

관련 문제