2012-10-12 2 views
1

우분투 12.04.1에서 글래스 피쉬 3.1.2를 실행 중입니다. 나는이 같은 내 EJB의 코드가있을 때글래스 피쉬 3.1.2 동일한 물리적 연결을 반환합니다.

jdbc-connection-pool validation-table-name="sysibm.sysdummy1" datasource-classname="com.ibm.db2.jcc.DB2DataSource" pooling="false" res-type="javax.sql.DataSource" wrap-jdbc-objects="false" name="eERPnextPool" is-connection-validation-required="true"> 
     <property name="portNumber" value="12345"></property> 
     <property name="databaseName" value="MYDB"></property> 
     <property name="driverType" value="4"></property> 
     <property name="serverName" value="192.168.0.2"></property> 
     <property name="user" value="MYDB"></property> 
     <property name="password" value="MYDB"></property> 
     <property name="enableNamedParameterMarkers" value="1"></property> 
    </jdbc-connection-pool> 
    <jdbc-resource pool-name="eERPnextPool" description="" jndi-name="jdbc/eERPnextDataSource"></jdbc-resource> 

가 :

InitialContext initialContext = null; 
Connection conn = null; 
Connection conn1 = null; 
try { 
    initialContext = new InitialContext(); 
    DataSource workDs = (DataSource) initialContext.lookup("jdbc/eERPnextDataSource"); 
    conn = workDs.getConnection(); 
    conn1 = workDs.getConnection(); 

    System.out.println("conn = " + conn + " = " + conn.unwrap(DB2Connection.class)); 
    System.out.println("conn1 = " + conn1 + " = " + conn1.unwrap(DB2Connection.class)); 
} catch (Exception e) { 
    Log.error("ERROR", e); 
} finally { 
    conn.close(); 
    conn1.close(); 
    initialContext.close(); 
} 

를 내가 얻을 : 그래서

conn = [email protected] = [email protected] 
conn1 = [email protected] = [email protected] 

나는 다음과 같이 정의 데이터베이스 연결 풀을 두 개의 서로 다른 연결 홀더가 동일한 물리적 연결을 가지고 있습니다. 왜 그런가요? 이게 정상인가? 클래스 정의에

답변

0

추가 @TransactionManagement (TransactionManagementType.BEAN는) :

@LocalBean                                         
@TransactionManagement(TransactionManagementType.BEAN)                              
public class HelloBean { 
..... 
} 

그 차이를했다. 이제 workDs.getConnection()을 두 번 호출하면 두 개의 연결이 생깁니다. 하지만 이제 롤백/커밋을 호출해야하는데, 이는 나에게 더 편리합니다.

관련 문제