2017-10-02 24 views
0

JBoss eap 7.0에서 응용 프로그램을 실행 중입니다. 데이터를 유지하기 위해 XA 데이터 소스 (오라클)를 참조하는 MDB도 있습니다. DB에 쓰기를 수행 아무 소용이 (몇 시간), 다음의 onMessage 호출의 긴 시간 간격 후,닫힌 JDBC 연결로 MDB onMessage가 실패 함

org.hibernate.exception.GenericJDBCException: Unable to acquire JDBC Connection 


    Caused by: java.sql.SQLException: javax.resource.ResourceException: 
IJ000457: Unchecked throwable in managedConnectionReconnected() 
cl=org[email protected]178ff38 
2[state=DESTROYED managed 
[email protected]289860 connection handles=0 lastReturned=1506796773697 lastValidated=1506796773525 lastCheckedOut=1506947349429 trackByTx=false 
[email protected]5968abc8 
[email protected][pool=HIF- 
BannerPU] 
[email protected][xaResource=org.jboss.jca.adapters.j 
[email protected] pad=false overrideRmValue=null 
productName=Oracle productVersion=Oracle Database 12c Enterprise Edition 
Release 12.2.0.1.0 - 64bit Production jndiName=java:/jdbc/HIF-BannerPU] 
txSync=null 

아래 에러가 나는 검증-에 경기가 = true를 설정해야 하는가 도착, 또는 거기가 낫다 풀링 된 연결이 유효하고 활성 상태인지 확인하는 방법?

UPDATE :

   <validation> 
        <validate-on-match>true</validate-on-match> 
        <valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.oracle.Or‌​acleValidConnectionC‌​hecker"/> 
        <exception-sorter class-name="org.jboss.jca.adapters.jdbc.extensions.oracle.Or‌​acleExceptionSorter" /> 
       </validation> 
       <xa-pool> 
        <is-same-rm-override>false</is-same-rm-override> 
        <no-tx-separate-pools /> 
       </xa-pool> 

그래도 점점 오류 :에 변경된 설정. 또한 가-같은-RM-재정의없이-TX-별도의 수영장 요소를 명시 적으로 각각의 선언을 확인

<validation> 

<validate-on-match>true</validate-on-match> <valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.oracle.Or‌​acleValidConnectionC‌​hecker"></valid-conn‌​ection-checker> 

<exception-sorter class-name="org.jboss.jca.adapters.jdbc.extensions.oracle.Or‌​acleExceptionSorter"‌​></exception-sorter> 

</validation> 

:

+0

예 모든 연결 풀 유효성 검사 설정은 모든 데이터 소스에서 필수입니다. ~~~ <확인-에 경기> 진정한 <유효한 접속 검사기 클래스 이름 = "org.jboss.jca.adapters.jdbc.extensions.oracle.OracleValidConnectionChecker "> <예외 분류기 클래스 이름 ="org.jboss.jca.adapters.jdbc.extensions.oracle.OracleExceptionSorter "> ~~ –

+0

is-same-rm-override 및 no-tx-separate-pools 요소가 Oracle 특정 (https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0)에 관련된 각 xa-datasource에서 명시 적으로 선언되었는지 확인하십시오./html-single/configuration_guide/# example_oracle_xa_datasource) ... false

+0

감사합니다. – OldProgrammer

답변