this과 같은 높은 평판 사용자의 답변을 보면 모든 단일 연결 요청에서 JNDI 이름 지정 서비스를 쿼리하여 새로운 DataSource 개체를 얻는 것이 적합하다고 보입니다. 예 : (더 간결 링크 대답에서 적응) 다음과 같은 코드 :모든 연결에 대해 JNDI에서 새로운 데이터 소스를 가져와야합니까?
public class ConnectionManager{
public static Connection getConnection() throws NamingException {
Context initContext = new InitialContext();
Context envContext = (Context)initContext.lookup("java:/comp/env");
DataSource dataSource = (DataSource)envContext.lookup("jdbc/test");
return dataSource.getConnection();
}
}
이 제안/숙어 방법, 정말? 내 자신의 "ConnectionManager"유틸리티 클래스 중 일부에서는 DataSource 객체에 대한 참조를 인스턴스 변수로 사용했습니다. 이 주위에 유지하는 안티 패턴, 그래서
java.sql.SQLException: javax.resource.ResourceException: IJ000451: The connection manager is shutdown
: 아무 문제는 JBoss 관리자가 사용할 경우를 제외하고 그것을 배출되지 않습니다 및 다음과 같은 연결 관리 콘솔에서 풀하고 내 코드가지고 있다고 오류가 활성화 JDBC에서 DataSource 객체의 인스턴스?