sql server - Connection to database (MS-SQL) is getting closed randomly after migrating from Jboss 4 to Wildfly 8 -
i got stuck in 1 issue due can't make application live on production. issue never comes on dev environment. comes in qa environment of our project client.
it random issue comes once or twice week. of times comes on weekend or idle time when no users access application in qa. but, in our application there separate thread keeps on running 24 x 7 , keeps on interacting database , of times during interaction database got exception connection closed.
as interaction in loop , thread runs 24 x 7, exception keeps on coming , log file keeps on increasing. log file size generated in gbs. wildfly server stops responding. after need restart widfly server.
we migrating java 6 java 8 & jboss 4.2@ wildfly 8.0.0, migrating mssql server 2005 2008. when connection counts in wildfly admin console, showing ex. available count 20, active count 5 & max used 5. so, think or seems connections available in pool.
below java code, persistence.xml, datasource config in wildfly , exception stacktrace.
1) java code:-
//@service bean custom annotation looking ejb stateless session bean @servicebean(lookup="closeoutschedulerservice") private closeoutschedulerremote dao; public void run() { serviceinjector.inject(this); while(this.executionstatus){ try { list<applicationbranch> appbranchesforautocloseout =new arraylist<applicationbranch>(); applicationeventtracker event=null; int columncount=taskboard.getrowscount(boardname); inner: for(int i=0;i<columncount; i++){ applicationbranch branchid=(applicationbranch) taskboard.getcell(boardname, "branch", i); branchid=dao.getapplicationbranch(branchid.getbranchid()); 2)persistence.xml
<persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:schemalocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd"> <persistence-unit name="ejbmodule3pu" > <jta-data-source>java:/emsdb</jta-data-source> <properties> <!-- properties hibernate --> <property name="hibernate.show_sql" value="false" /> <property name="hibernate.id.new_generator_mappings" value="false"/> </properties> </persistence-unit> </persistence> 3)datasource configuration in wildfly:-
<datasource jndi-name="java:/emsdb" pool-name="emsdb" enabled="true" use-java-context="true"> <connection-url>jdbc:sqlserver://emsqafnb:1433;databasename=wealth_ems;</connection-url> <driver>sqlserver</driver> <pool> <min-pool-size>5</min-pool-size> <max-pool-size>20</max-pool-size> </pool> <security> <user-name>emsmaster1</user-name> <password>ems@master</password> </security> <timeout> <idle-timeout-minutes>5</idle-timeout-minutes> </timeout> </datasource> 4)exception stacktrace:-
2015-06-25 00:16:58,326 info [org.hibernate.event.internal.defaultloadeventlistener] (thread-115) hhh000327: error performing load command : org.hibernate.exception.genericjdbcexception: not prepare statement 2015-06-25 00:16:58,326 error [org.jboss.as.ejb3.invocation] (thread-115) jbas014134: ejb invocation failed on component closeoutschedulerservice method public abstract com.fnb.ems.models.applicationbranch com.fnb.ems.services.closeoutschedulerremote.getapplicationbranch(java.lang.integer): javax.ejb.ejbexception: javax.persistence.persistenceexception: org.hibernate.exception.genericjdbcexception: not prepare statement @ org.jboss.as.ejb3.tx.cmttxinterceptor.handleexceptioninourtx(cmttxinterceptor.java:190) [wildfly-ejb3-8.0.0.final.jar:8.0.0.final] @ org.jboss.as.ejb3.tx.cmttxinterceptor.invokeinourtx(cmttxinterceptor.java:275) [wildfly-ejb3-8.0.0.final.jar:8.0.0.final] @ org.jboss.as.ejb3.tx.cmttxinterceptor.required(cmttxinterceptor.java:340) [wildfly-ejb3-8.0.0.final.jar:8.0.0.final] @ org.jboss.as.ejb3.tx.cmttxinterceptor.processinvocation(cmttxinterceptor.java:239) [wildfly-ejb3-8.0.0.final.jar:8.0.0.final] @ org.jboss.invocation.interceptorcontext.proceed(interceptorcontext.java:309) @ org.jboss.as.ejb3.remote.ejbremotetransactionpropagatinginterceptor.processinvocation(ejbremotetransactionpropagatinginterceptor.java:79) [wildfly-ejb3-8.0.0.final.jar:8.0.0.final] @ org.jboss.invocation.interceptorcontext.proceed(interceptorcontext.java:309) @ org.jboss.as.ejb3.component.interceptors.currentinvocationcontextinterceptor.processinvocation(currentinvocationcontextinterceptor.java:41) [wildfly-ejb3-8.0.0.final.jar:8.0.0.final] @ org.jboss.invocation.interceptorcontext.proceed(interceptorcontext.java:309) @ org.jboss.as.ejb3.component.invocationmetrics.waittimeinterceptor.processinvocation(waittimeinterceptor.java:43) [wildfly-ejb3-8.0.0.final.jar:8.0.0.final] @ org.jboss.invocation.interceptorcontext.proceed(interceptorcontext.java:309) @ org.jboss.as.ejb3.security.securitycontextinterceptor.processinvocation(securitycontextinterceptor.java:95) [wildfly-ejb3-8.0.0.final.jar:8.0.0.final] @ org.jboss.invocation.interceptorcontext.proceed(interceptorcontext.java:309) @ org.jboss.as.ejb3.component.interceptors.shutdowninterceptorfactory$1.processinvocation(shutdowninterceptorfactory.java:64) [wildfly-ejb3-8.0.0.final.jar:8.0.0.final] @ org.jboss.invocation.interceptorcontext.proceed(interceptorcontext.java:309) @ org.jboss.as.ejb3.component.interceptors.logginginterceptor.processinvocation(logginginterceptor.java:59) [wildfly-ejb3-8.0.0.final.jar:8.0.0.final] @ org.jboss.invocation.interceptorcontext.proceed(interceptorcontext.java:309) @ org.jboss.as.ee.component.namespacecontextinterceptor.processinvocation(namespacecontextinterceptor.java:50) @ org.jboss.invocation.interceptorcontext.proceed(interceptorcontext.java:309) @ org.jboss.as.ejb3.component.interceptors.additionalsetupinterceptor.processinvocation(additionalsetupinterceptor.java:55) [wildfly-ejb3-8.0.0.final.jar:8.0.0.final] @ org.jboss.invocation.interceptorcontext.proceed(interceptorcontext.java:309) @ org.jboss.invocation.contextclassloaderinterceptor.processinvocation(contextclassloaderinterceptor.java:64) @ org.jboss.invocation.interceptorcontext.proceed(interceptorcontext.java:309) @ org.jboss.invocation.interceptorcontext.run(interceptorcontext.java:326) @ org.wildfly.security.manager.wildflysecuritymanager.dochecked(wildflysecuritymanager.java:448) @ org.jboss.invocation.accesscheckinginterceptor.processinvocation(accesscheckinginterceptor.java:61) @ org.jboss.invocation.interceptorcontext.proceed(interceptorcontext.java:309) @ org.jboss.invocation.interceptorcontext.run(interceptorcontext.java:326) @ org.jboss.invocation.privilegedwithcombinerinterceptor.processinvocation(privilegedwithcombinerinterceptor.java:80) @ org.jboss.invocation.interceptorcontext.proceed(interceptorcontext.java:309) @ org.jboss.invocation.chainedinterceptor.processinvocation(chainedinterceptor.java:61) @ org.jboss.as.ee.component.viewservice$view.invoke(viewservice.java:185) @ org.jboss.as.ejb3.remote.localejbreceiver.processinvocation(localejbreceiver.java:243) [wildfly-ejb3-8.0.0.final.jar:8.0.0.final] @ org.jboss.ejb.client.ejbclientinvocationcontext.sendrequest(ejbclientinvocationcontext.java:181) [jboss-ejb-client-2.0.0.final.jar:2.0.0.final] @ org.jboss.ejb.client.ejbobjectinterceptor.handleinvocation(ejbobjectinterceptor.java:58) [jboss-ejb-client-2.0.0.final.jar:2.0.0.final] @ org.jboss.ejb.client.ejbclientinvocationcontext.sendrequest(ejbclientinvocationcontext.java:183) [jboss-ejb-client-2.0.0.final.jar:2.0.0.final] @ org.jboss.ejb.client.ejbhomeinterceptor.handleinvocation(ejbhomeinterceptor.java:83) [jboss-ejb-client-2.0.0.final.jar:2.0.0.final] @ org.jboss.ejb.client.ejbclientinvocationcontext.sendrequest(ejbclientinvocationcontext.java:183) [jboss-ejb-client-2.0.0.final.jar:2.0.0.final] @ org.jboss.ejb.client.transactioninterceptor.handleinvocation(transactioninterceptor.java:42) [jboss-ejb-client-2.0.0.final.jar:2.0.0.final] @ org.jboss.ejb.client.ejbclientinvocationcontext.sendrequest(ejbclientinvocationcontext.java:183) [jboss-ejb-client-2.0.0.final.jar:2.0.0.final] @ org.jboss.ejb.client.receiverinterceptor.handleinvocation(receiverinterceptor.java:125) [jboss-ejb-client-2.0.0.final.jar:2.0.0.final] @ org.jboss.ejb.client.ejbclientinvocationcontext.sendrequest(ejbclientinvocationcontext.java:183) [jboss-ejb-client-2.0.0.final.jar:2.0.0.final] @ org.jboss.ejb.client.ejbinvocationhandler.sendrequestwithpossibleretries(ejbinvocationhandler.java:253) [jboss-ejb-client-2.0.0.final.jar:2.0.0.final] @ org.jboss.ejb.client.ejbinvocationhandler.doinvoke(ejbinvocationhandler.java:198) [jboss-ejb-client-2.0.0.final.jar:2.0.0.final] @ org.jboss.ejb.client.ejbinvocationhandler.doinvoke(ejbinvocationhandler.java:181) [jboss-ejb-client-2.0.0.final.jar:2.0.0.final] @ org.jboss.ejb.client.ejbinvocationhandler.invoke(ejbinvocationhandler.java:144) [jboss-ejb-client-2.0.0.final.jar:2.0.0.final] @ com.sun.proxy.$proxy96.getapplicationbranch(unknown source) @ com.fnb.ems.common.closeoutscheduleservice$closeoutexecutor.run(closeoutscheduleservice.java:183) @ java.lang.thread.run(thread.java:745) [rt.jar:1.8.0_40] caused by: javax.persistence.persistenceexception: org.hibernate.exception.genericjdbcexception: not prepare statement @ org.hibernate.jpa.spi.abstractentitymanagerimpl.convert(abstractentitymanagerimpl.java:1763) [hibernate-entitymanager-4.3.1.final.jar:4.3.1.final] @ org.hibernate.jpa.spi.abstractentitymanagerimpl.convert(abstractentitymanagerimpl.java:1694) [hibernate-entitymanager-4.3.1.final.jar:4.3.1.final] @ org.hibernate.jpa.spi.abstractentitymanagerimpl.find(abstractentitymanagerimpl.java:1141) [hibernate-entitymanager-4.3.1.final.jar:4.3.1.final] @ org.hibernate.jpa.spi.abstractentitymanagerimpl.find(abstractentitymanagerimpl.java:1068) [hibernate-entitymanager-4.3.1.final.jar:4.3.1.final] @ org.jboss.as.jpa.container.abstractentitymanager.find(abstractentitymanager.java:199) [wildfly-jpa-8.0.0.final.jar:8.0.0.final] @ com.fnb.ems.servicebeans.closeoutschedulerbean.getapplicationbranch(closeoutschedulerbean.java:129) [wealth_fnt_ems_ejb.jar:] @ sun.reflect.generatedmethodaccessor31.invoke(unknown source) [:1.8.0_40] @ sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl.java:43) [rt.jar:1.8.0_40] @ java.lang.reflect.method.invoke(method.java:497) [rt.jar:1.8.0_40] @ org.jboss.as.ee.component.managedreferencemethodinterceptor.processinvocation(managedreferencemethodinterceptor.java:52) @ org.jboss.invocation.interceptorcontext.proceed(interceptorcontext.java:309) @ org.jboss.invocation.weavedinterceptor.processinvocation(weavedinterceptor.java:53) @ org.jboss.as.ee.component.interceptors.userinterceptorfactory$1.processinvocation(userinterceptorfactory.java:63) @ org.jboss.invocation.interceptorcontext.proceed(interceptorcontext.java:309) @ org.jboss.invocation.interceptorcontext$invocation.proceed(interceptorcontext.java:407) @ org.jboss.as.weld.ejb.jsr299bindingsinterceptor.domethodinterception(jsr299bindingsinterceptor.java:82) [wildfly-weld-8.0.0.final.jar:8.0.0.final] @ org.jboss.as.weld.ejb.jsr299bindingsinterceptor.processinvocation(jsr299bindingsinterceptor.java:93) [wildfly-weld-8.0.0.final.jar:8.0.0.final] @ org.jboss.as.ee.component.interceptors.userinterceptorfactory$1.processinvocation(userinterceptorfactory.java:63) @ org.jboss.invocation.interceptorcontext.proceed(interceptorcontext.java:309) @ org.jboss.invocation.weavedinterceptor.processinvocation(weavedinterceptor.java:53) @ org.jboss.as.ee.component.interceptors.userinterceptorfactory$1.processinvocation(userinterceptorfactory.java:63) @ org.jboss.invocation.interceptorcontext.proceed(interceptorcontext.java:309) @ org.jboss.as.ejb3.component.invocationmetrics.executiontimeinterceptor.processinvocation(executiontimeinterceptor.java:43) [wildfly-ejb3-8.0.0.final.jar:8.0.0.final] @ org.jboss.invocation.interceptorcontext.proceed(interceptorcontext.java:309) @ org.jboss.as.jpa.interceptor.sbinvocationinterceptor.processinvocation(sbinvocationinterceptor.java:47) [wildfly-jpa-8.0.0.final.jar:8.0.0.final] @ org.jboss.invocation.interceptorcontext.proceed(interceptorcontext.java:309) @ org.jboss.invocation.interceptorcontext$invocation.proceed(interceptorcontext.java:407) @ org.jboss.weld.ejb.abstractejbrequestscopeactivationinterceptor.aroundinvoke(abstractejbrequestscopeactivationinterceptor.java:55) [weld-core-impl-2.1.2.final.jar:2014-01-09 09:23] @ org.jboss.as.weld.ejb.ejbrequestscopeactivationinterceptor.processinvocation(ejbrequestscopeactivationinterceptor.java:83) [wildfly-weld-8.0.0.final.jar:8.0.0.final] @ org.jboss.invocation.interceptorcontext.proceed(interceptorcontext.java:309) @ org.jboss.as.ee.concurrent.concurrentcontextinterceptor.processinvocation(concurrentcontextinterceptor.java:45) [wildfly-ee-8.0.0.final.jar:8.0.0.final] @ org.jboss.invocation.interceptorcontext.proceed(interceptorcontext.java:309) @ org.jboss.invocation.initialinterceptor.processinvocation(initialinterceptor.java:21) @ org.jboss.invocation.interceptorcontext.proceed(interceptorcontext.java:309) @ org.jboss.invocation.chainedinterceptor.processinvocation(chainedinterceptor.java:61) @ org.jboss.as.ee.component.interceptors.componentdispatcherinterceptor.processinvocation(componentdispatcherinterceptor.java:53) @ org.jboss.invocation.interceptorcontext.proceed(interceptorcontext.java:309) @ org.jboss.as.ejb3.component.interceptors.nonpooledejbcomponentinstanceassociatinginterceptor.processinvocation(nonpooledejbcomponentinstanceassociatinginterceptor.java:59) [wildfly-ejb3-8.0.0.final.jar:8.0.0.final] @ org.jboss.invocation.interceptorcontext.proceed(interceptorcontext.java:309) @ org.jboss.as.ejb3.tx.cmttxinterceptor.invokeinourtx(cmttxinterceptor.java:273) [wildfly-ejb3-8.0.0.final.jar:8.0.0.final] ... 47 more caused by: org.hibernate.exception.genericjdbcexception: not prepare statement @ org.hibernate.exception.internal.standardsqlexceptionconverter.convert(standardsqlexceptionconverter.java:54) [hibernate-core-4.3.1.final.jar:4.3.1.final] @ org.hibernate.engine.jdbc.spi.sqlexceptionhelper.convert(sqlexceptionhelper.java:126) [hibernate-core-4.3.1.final.jar:4.3.1.final] @ org.hibernate.engine.jdbc.internal.statementpreparerimpl$statementpreparationtemplate.preparestatement(statementpreparerimpl.java:196) [hibernate-core-4.3.1.final.jar:4.3.1.final] @ org.hibernate.engine.jdbc.internal.statementpreparerimpl.preparequerystatement(statementpreparerimpl.java:160) [hibernate-core-4.3.1.final.jar:4.3.1.final] @ org.hibernate.loader.plan.exec.internal.abstractloadplanbasedloader.preparequerystatement(abstractloadplanbasedloader.java:257) [hibernate-core-4.3.1.final.jar:4.3.1.final] @ org.hibernate.loader.plan.exec.internal.abstractloadplanbasedloader.executequerystatement(abstractloadplanbasedloader.java:201) [hibernate-core-4.3.1.final.jar:4.3.1.final] @ org.hibernate.loader.plan.exec.internal.abstractloadplanbasedloader.executeload(abstractloadplanbasedloader.java:137) [hibernate-core-4.3.1.final.jar:4.3.1.final] @ org.hibernate.loader.plan.exec.internal.abstractloadplanbasedloader.executeload(abstractloadplanbasedloader.java:102) [hibernate-core-4.3.1.final.jar:4.3.1.final] @ org.hibernate.loader.entity.plan.abstractloadplanbasedentityloader.load(abstractloadplanbasedentityloader.java:186) [hibernate-core-4.3.1.final.jar:4.3.1.final] @ org.hibernate.persister.entity.abstractentitypersister.load(abstractentitypersister.java:4120) [hibernate-core-4.3.1.final.jar:4.3.1.final] @ org.hibernate.event.internal.defaultloadeventlistener.loadfromdatasource(defaultloadeventlistener.java:502) [hibernate-core-4.3.1.final.jar:4.3.1.final] @ org.hibernate.event.internal.defaultloadeventlistener.doload(defaultloadeventlistener.java:467) [hibernate-core-4.3.1.final.jar:4.3.1.final] @ org.hibernate.event.internal.defaultloadeventlistener.load(defaultloadeventlistener.java:212) [hibernate-core-4.3.1.final.jar:4.3.1.final] @ org.hibernate.event.internal.defaultloadeventlistener.proxyorload(defaultloadeventlistener.java:274) [hibernate-core-4.3.1.final.jar:4.3.1.final] @ org.hibernate.event.internal.defaultloadeventlistener.onload(defaultloadeventlistener.java:150) [hibernate-core-4.3.1.final.jar:4.3.1.final] @ org.hibernate.internal.sessionimpl.fireload(sessionimpl.java:1066) [hibernate-core-4.3.1.final.jar:4.3.1.final] @ org.hibernate.internal.sessionimpl.access$2000(sessionimpl.java:176) [hibernate-core-4.3.1.final.jar:4.3.1.final] @ org.hibernate.internal.sessionimpl$identifierloadaccessimpl.load(sessionimpl.java:2540) [hibernate-core-4.3.1.final.jar:4.3.1.final] @ org.hibernate.internal.sessionimpl.get(sessionimpl.java:951) [hibernate-core-4.3.1.final.jar:4.3.1.final] @ org.hibernate.jpa.spi.abstractentitymanagerimpl.find(abstractentitymanagerimpl.java:1110) [hibernate-entitymanager-4.3.1.final.jar:4.3.1.final] ... 84 more caused by: com.microsoft.sqlserver.jdbc.sqlserverexception: connection closed. @ com.microsoft.sqlserver.jdbc.sqlserverexception.makefromdrivererror(sqlserverexception.java:190) @ com.microsoft.sqlserver.jdbc.sqlserverconnection.checkclosed(sqlserverconnection.java:389) @ com.microsoft.sqlserver.jdbc.sqlserverconnection.preparestatement(sqlserverconnection.java:2175) @ org.jboss.jca.adapters.jdbc.basewrappermanagedconnection.dopreparestatement(basewrappermanagedconnection.java:745) @ org.jboss.jca.adapters.jdbc.basewrappermanagedconnection.preparestatement(basewrappermanagedconnection.java:731) @ org.jboss.jca.adapters.jdbc.wrappedconnection.preparestatement(wrappedconnection.java:405) @ org.hibernate.engine.jdbc.internal.statementpreparerimpl$5.doprepare(statementpreparerimpl.java:162) [hibernate-core-4.3.1.final.jar:4.3.1.final] @ org.hibernate.engine.jdbc.internal.statementpreparerimpl$statementpreparationtemplate.preparestatement(statementpreparerimpl.java:186) [hibernate-core-4.3.1.final.jar:4.3.1.final] ... 101 more
Comments
Post a Comment