나는 이것이 실제로 일어나는 이유를 실제로 이해할 수 없다. EJB에서 Web-App으로 일부 엔터프라이즈 프로그램을 실행하고 있습니다. 내 EJB는 MyBatis
을 내 Postgres DB와 함께 사용하고 웹 애플 리케이션은 JBoss-AS 7
에 배포합니다. 실제로 JBoss는 연결이 standalone.xml
의 JNDI 데이터 소스에 구성된 풀에서 초과하기 때문에 충돌합니다.MyBatis JNDI with JBoss with connections 연결을 닫지 않는 것
내 데이터 소스가 standalone.xml
에서 다음과 같이 구성되어
<transactionManager type="MANAGED">
<property name="closeConnection" value="false"/>
</transactionManager>
<dataSource type="JNDI">
<property name="data_source" value="java:jboss/datasources/MyDBName"/>
</dataSource>
나는 또한에 시도했다 :
<datasource jndi-name="java:jboss/datasources/MyDBName" pool-name="MyDBName" enabled="true" use-java-context="true">
<connection-url>jdbc:postgresql://localhost:5432/My_DB</connection-url>
<driver>postgresql-driver</driver>
<pool>
<min-pool-size>10</min-pool-size>
<max-pool-size>20</max-pool-size>
<prefill>true</prefill>
</pool>
<security>
<user-name>username</user-name>
<password>password</password>
</security>
</datasource>
본인은 MyBatis로-config.xml 파일에이 같은 내 데이터 소스를 구성한 내 DAO에서 수동으로 SQLSession을 닫을 때마다 아무 일도 일어나지 않았습니다.
의견이 있으십니까?
그래서 jboss와 mybatis를 모두 추적하고 "미친"사람을 확인하는 것이 좋습니다. – abierto
원격 디버깅을 사용하여 몇 가지 문제를 해결했습니다. 코드가 이해하기 힘들지는 않습니다. 특히 큰 고통이있는 경우에 특히 그렇습니다. –