응용 프로그램을 jboss eap 6.3에서 실행하고 jTDS 드라이버를 통해 SQL SERVER 2012 데이터 소스에 연결하고 있습니다. 문제는 연결이 열리고 절대 풀로 돌아 가지 않는다는 것입니다.연결이 풀로 돌아 오지 않습니다 (JBoss EAP 6 및 SQL Server 2012)
먼저 CONNECTION LEAK가 없습니다. (한 성명에서)
<cached-connection-manager debug="true" error="true"/>
JBoss는 하나의 연결 누수를 발견하고 나는 그것을 해결하지만, 문제는 남아 : 나는 이미이 아래의 구성을 사용하여 조사 제이 보스를 구성했습니다. 다음과 같이
데이터베이스 구성은 다음과 같습니다
"에서 :
<datasource jta="false" jndi-name="java:jboss/datasources/DatabaseDS" pool-name="DatabaseDS" enabled="true" use-java-context="true" use-ccm="true">
<connection-url>jdbc:jtds:sqlserver://server/database;instance=instance;DatabaseName=database</connection-url>
<driver>jtds</driver>
<pool>
<min-pool-size>200</min-pool-size>
<max-pool-size>1200</max-pool-size>
<prefill>true</prefill>
</pool>
<security>
<user-name>username</user-name>
<password>password</password>
</security>
<timeout>
<blocking-timeout-millis>30000</blocking-timeout-millis>
<idle-timeout-minutes>1</idle-timeout-minutes>
</timeout>
생산 한 하루를 보낸 후, JBoss에 CLI의 통계는 다음과 같은 데이터를 표시 use "점수는 항상"Count Active "와 같은 크기입니다. 이 숫자는 모든 요청에 대해 하나의 연결 만 열고 닫을 수 있기 때문에 인쇄본이 만들어지면 98 세션이 jboss에 연결되어 있기 때문에이 수치는 나에게 의미가 없습니다.
이 응용 프로그램에 대한 SQL Server 프로세스를 조사 (master.dbo.sysprocesses) 모든 "활성 수를"연결은 내가 100 % 확신 "명령을 기다리는 중"
를 "자고"등의 상태 및 세부에있는 모든 연결 열려있는 응용 프로그램에서도 닫힙니다. 약 2 일
풀은 100 % 완료하고 서버이 동작을 일으킬 수있는 어떤
를 다시 시작해야합니까? "active count"의 값은 200이 아니어야합니까? 연결을 차단하여 풀로 돌아갈 수 있습니까?