2012-09-18 2 views
0

Glassfish 3.1.2에서 'userdb'라는 연결 풀을 만들고 'userdbresource'라는 데이터 소스를 생성했습니다. 데이터 소스를 만드는 동안 관리 콘솔에서 유형을 'javax.sql.Datasource'로 지정했습니다. 내 REST의 웹 서비스에서Glassfish에서 Connection Pooling hit ClassCastException 3.1.2

나는 다음과 같은 코드

  DataSource ds = null; 
     try 
     { 
     InitialContext ctx = new InitialContext(); 


      ds = (DataSource) ctx.lookup("userdbresource"); 
     } 
     catch (NamingException e) 
     { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
     Connection con = (Connection) ds.getConnection(); 
     Statement stmt=con.createStatement(); 
에게 쓴 난 항상 Connection con = (Connection) ds.getConnection();

내가 추가 한에서은 web.xml

<resource-ref> 
     <res-ref-name>userdbresource</res-ref-name> 
     <res-type>javax.sql.DataSource</res-type> 
     <res-auth>Container</res-auth> 
     <res-sharing-scope>Shareable</res-sharing-scope> 
    </resource-ref> 

에 다음을 ClassCast 예외가

그러나 변화는 없습니다. com.mysql.jdbc.Connection을 사용하여 검색 한 후 연결을 해제하려고했습니다. 그러나 변화는 없습니다. 로그

실제 classcast 예외는

java.lang.ClassCastException: com.sun.gjc.spi.jdbc40.ConnectionHolder40 cannot be cast to com.mysql.jdbc.Connection 

사람이 내가 알려 주시기 바랍니다 내가 풀에서 검색 연결을 사용하기 위해 필요한 변경 알고있는 경우 입니다!

감사 비타

답변

2

import java.sql.Connection;하지 JDBC 연결을 따라서 당신은 늘 모든 연결 캐스팅이 필요하고 데이터 소스 연결

Connect con = ds.getConnection(); 
+0

고마워된다! – kavita

+0

당신은 wlc @ kavita입니다. – mykey