0

이 일반적인 질문이 있습니다. 연결 풀이 캐시에 "고대"연결을 유지하고 다른 연결이 호출되는 동안 제공 할 수 있습니까? 나는 그것이 어떻게 든 알지만, 데이터 소스로 조회를 명시 적으로 새로운 JNDI 주소로 변경하는 동안 이미 일부 DataSource를 통해 생성 된 연결 객체를 사용하고,이 새로운 조회로 새 연결을 만들었습니다 (사용하고 싶었지만, 그건) ? GlassFish 내의 연결, 이상한 동작?

여기에, 조금 구체적으로 내 단계이었다하려면 내 코드에 다음과 같이하는 JNDI에 이름을 부여

내가 내 글래스 피쉬 서버에서 연결을 만든, 사용 :

InitialContext ctx = new InitialContext(); 
     //The JDBC Data source that we just created 
     DataSource ds = (DataSource) ctx.lookup("postgresJNDI"); 
     Connection connection = ds.getConnection(); 
     Statement st = connection.createStatement(); 

     ResultSet rs = st.executeQuery("SELECT util_firm, util_name, previlege FROM utilisateur WHERE password = '" + password + "' AND pseudo = '" + pseudo + "' ") ; 

문제는 요청이 내가 경고한다는 돌아갈 전송되면이다 :

serverError: class javax.faces.el.EvaluationException the name of column utilfirm was not found in this ResultSet. 

을 그리고 utilfirm도 내 요청에 있지 아니하며 그 문제에 대한 내 데이터베이스에이다 (그러나 A의이었다 ncient 하나는 지우고 다른 하나는 JNDI 주소를 통해 액세스했습니다 ...).

필자가 사용한 모든 연결을 닫는 데주의를 기울였습니다.

이렇게 정상입니까? 아니면 내 구성에 뭔가가 있습니까?

미리 감사드립니다.

답변

0

연결 풀링이 사용 된 bean은 실제로 일부 신비한 이유 때문에 일부 이전 JNDI의 이름을 보유하므로 코드에 지정된 새 계정을 고려하지 않았습니다. 그래서 저는 방금 나아가 새로운 콩을 만들고 대신 사용했습니다. 이제는 모두 잘 작동합니다.

본인은 여전히 ​​해당 주제와 관련된 모든 문서에 관심이 있습니다.

좋은 하루 되세요/모두!