首页 文章

如何调试/解决MySQL JDBC连接超时问题

提问于
浏览
0

我正在使用MySQL DB迁移Java应用程序 . 现在连接在某个时刻超时了,尽管具有相同参数的同一个连接在之前的几个事务中运行良好 . 这是代码:

public class DBConnection {

public DBConnection() {
    super();
}

public static Connection getConnection(String database, String port,
        String schema, String username, String password)
        throws SQLException, ClassNotFoundException {
    Class.forName("com.mysql.jdbc.Driver");
            System.out.println("Connecting to DB:");

    Connection connection = DriverManager.getConnection("jdbc:mysql://"
            + database + ":" + port + "/" + schema, username, password);
            System.out.println("Connection success: " + connection.isValid(3));

    return connection;
}

}

我的日志:

2016-06-21 15:48:32,621 DEBUG [xxx](默认任务-21)语句:LOAD DATA LOCAL INFILE'C:/CostCenter_Data/common/date_dim.csv'INTO TABLE il_costcenter.tbl_dim_date以','结尾的字段封闭的'''行终止于'2016-06-21 15:48:32,621 DEBUG [xxx](默认任务-21)'IGNORE 1 LINES 2016-06-21 15:48:33,011 DEBUG [xxx](默认任务-21)连接到DB:2016-06-21 15:48:33,011 DEBUG [xxx] 2016-06-21 15:48:33,027 DEBUG [xxx](默认任务-21)连接成功:真2016-06-21 15:48:33,027 DEBUG [xxx](默认任务-21)执行语句... 2016-06-21 15:48:33,027 DEBUG [xxx](默认任务-21)截断表costcenter.tbl_dim_date 2016-06-21 15:48:33,246 DEBUG [xxx](默认任务-21)连接到DB:2016-06-21 15:48:33,246 DEBUG [xxx](默认任务-21)连接成功:true 2016-06-21 15: 48:33,246 DEBUG [xxx](默认任务-21)执行语句... 2016-06-21 15:48:33,246 DEBUG [xxx](默认任务-21)插入costcenter.tbl_dim_date(date_qualifier,week_ ID,month_id,quarter_id,year_id,previous_date,last_month_date,last_quarter_date,last_year_date,date_begin_ts,date_end_ts,day_of_week_id,weekday_flag,last_day_in_month,week_begin_date,week_end_date)选择date_qualifier,week_id,month_id,quarter_id,year_id,previous_date,last_month_date,last_quarter_date,last_year_date,date_begin_ts ,date_end_ts,day_of_week_id,case weekday_flag当'true'然后是true否则false结束为weekday_flag,case last_day_in_month当'true'然后是true否则false结束为last_day_in_month,week_begin_date,week_end_date来自il_costcenter.tbl_dim_date 2016-06-21 15:48:33,699 DEBUG [xxx](默认任务-21)连接到DB:2016-06-21 15:48:33,699 DEBUG 2016-06-21 15:53:31,404 WARN [com.arjuna.ats.arjuna](交易收割者)ARJUNA012117 :TransactionReaper :: TX 0的检查超时:ffff0a00016d:-382678fc:5769432f:39状态为RUN 2016-06-21 15:53:31,404 WARN [com.arjuna.ats.arjuna](Transaction Reaper Worker 0)ARJUNA012095:Abort动作ID 0 :ffff0a00016d:-382678fc:5769432f:39在多个线程处于活动状态时调用 . 2016-06-21 15:53:31,404 WARN [com.arjuna.ats.arjuna](交易收割者 Worker 0)ARJUNA012381:操作ID 0:ffff0a00016d:-382678fc:5769432f:39用多个线程完成 - 线程默认任务-21 java.io.FileInputStream.readBytes(Native Method)java.io.FileInputStream.read(未知来源)java.io.BufferedInputStream.read1(未知来源)java.io.BufferedInputStream.read(未知来源)sun正在进行中 . nio.cs.StreamDecoder.readBytes(Unknown Source)sun.nio.cs.StreamDecoder.implRead(Unknown Source)sun.nio.cs.StreamDecoder.read(Unknown Source)java.io.InputStreamReader.read(Unknown Source)java . io.BufferedReader.fill(Unknown Source)java.io.BufferedReader.readLine(Unknown Source)java.io.BufferedReader.readLine(Unknown Source)xxx sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)sun.reflect.NativeMethodAccessorImpl.invoke (未知来源)sun.reflect.DelegatingMethodAccessorImpl.invoke(未知来源)java.lang.reflect.Method.invoke(未知来源)org.jboss.as.ee .component.ManagedReferenceMethodInterceptor.processInvocation(ManagedReferenceMethodInterceptor.java:52)org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)org.jboss.invocation.InterceptorContext $ Invocation.proceed(InterceptorContext.java:437)org.jboss .as.weld.ejb.Jsr299BindingsInterceptor.doMethodInterception(Jsr299BindingsInterceptor.java:82)org.jboss.as.weld.ejb.Jsr299BindingsInterceptor.processInvocation(Jsr299BindingsInterceptor.java:93)org.jboss.as.ee.component.interceptors.UserInterceptorFactory $ 1.processInvocation(UserInterceptorFactory.java:63)org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)org.jboss.as.ejb3.component.invocationmetrics.ExecutionTimeInterceptor.processInvocation(ExecutionTimeInterceptor.java:43)org . jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)org.jboss.as.jpa.interceptor.SBInvocationInterceptor.processInvocation(SBInvocationInterceptor.java:47)org.jboss.invocation.Intercep torContext.proceed(InterceptorContext.java:340)org.jboss.as.jpa.interceptor.SFSBInvocationInterceptor.processInvocation(SFSBInvocationInterceptor.java:57)org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)org.jboss.as.ejb3.component.stateful.StatefulSessionSynchronizationInterceptor . processInvocation(StatefulSessionSynchronizationInterceptor.java:125)org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)org.jboss.invocation.InterceptorContext $ Invocation.proceed(InterceptorContext.java:437)org.jboss.weld.ejb . AbstractEJBRequestScopeActivationInterceptor.aroundInvoke(AbstractEJBRequestScopeActivationInterceptor.java:64)org.jboss.as.weld.ejb.EjbRequestScopeActivationInterceptor.processInvocation(EjbRequestScopeActivationInterceptor.java:83)org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)org.jboss . as.ee.concurrent.ConcurrentContextInterceptor.processInvocation(ConcurrentContextInterceptor.java:45)org.jboss.invocation.InterceptorContext.proceed(Intercepto rContext.java:340)org.jboss.invocation.InitialInterceptor.processInvocation(InitialInterceptor.java:21)org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor . java:61)org.jboss.as.ee.component.interceptors.ComponentDispatcherInterceptor.processInvocation(ComponentDispatcherInterceptor.java:52)org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)org.jboss.as.ejb3 . component.stateful.StatefulComponentInstanceInterceptor.processInvocation(StatefulComponentInstanceInterceptor.java:65)org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInCallerTx(CMTTxInterceptor.java:254) org.jboss.as.ejb3.tx.CMTTxInterceptor.required(CMTTxInterceptor.java:329)org.jboss.as.ejb3.tx.CMTTxInterceptor.processInvocation(CMTTxInterceptor.java:239)org.jboss.invocation.InterceptorContext.proceed( InterceptorContext.java:3 40)org.jboss.as.ejb3.component.interceptors.CurrentInvocationContextInterceptor.processInvocation(CurrentInvocationContextInterceptor.java:41)org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)org.jboss.as.ejb3.component . invocationmetrics.WaitTimeInterceptor.processInvocation(WaitTimeInterceptor.java:43)org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)org.jboss.as.ejb3.security.SecurityContextInterceptor.processInvocation(SecurityContextInterceptor.java:100)org . jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)org.jboss.as.ejb3.component.interceptors.ShutDownInterceptorFactory $ 1.processInvocation(ShutDownInterceptorFactory.java:64)org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java) :340)org.jboss.as.ejb3.component.interceptors.LoggingInterceptor.processInvocation(LoggingInterceptor.java:66)org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)org.jboss.as.ee.com ponent.NamespaceContextInterceptor.processInvocation(NamespaceContextInterceptor.java:50)org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)org.jboss.as.ejb3.component.interceptors.AdditionalSetupInterceptor.processInvocation(AdditionalSetupInterceptor.java:54) org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)org.jboss.invocation.ContextClassLoaderInterceptor.processInvocation(ContextClassLoaderInterceptor.java:64)org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)org . jboss.invocation.InterceptorContext.run(InterceptorContext.java:356)org.wildfly.security.manager.WildFlySecurityManager.doChecked(WildFlySecurityManager.java:636)org.jboss.invocation.AccessCheckingInterceptor.processInvocation(AccessCheckingInterceptor.java:61)org . jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)org.jboss.invocation.InterceptorContext.run(InterceptorContext.java:356)org.jboss.invocation.Privileged WithCombinerInterceptor.processInvocation(PrivilegedWithCombinerInterceptor.java:80)org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)org.jboss.as.ee . component.ViewService $ View.invoke(ViewService.java:195)org.jboss.as.ee.component.ViewDescription $ 1.processInvocation(ViewDescription.java:185)org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340 )org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)org.jboss.as.ee.component.ProxyInvocationHandler.invoke(ProxyInvocationHandler.java:73)xxxPersistenceService $$$ view3.invokeTEL(Unknown Source)sun.reflect .NativeMethodAccessorImpl.invoke0(Native Method)sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)java.lang.reflect.Method.invoke(Unknown Source)org.jboss.weld.util .reflection.Reflections.invokeAndUnwrap(Reflections.java:436)org.jboss.weld.bean.proxy.EnterpriseBeanProxyMethodHandler.invoke(EnterpriseBeanProxyMethodHandler.java:127)org.jboss.weld.bean.proxy.EnterpriseTargetBeanInstance.invoke(EnterpriseTargetBeanInstance.java :56)org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:100)xxx.PersistenceService $ Proxy $ _ $$ Weld $ EnterpriseProxy $ .invokeTEL(Unknown Source)xxx.PersistenceService $ Proxy $$$ WeldClientProxy.invokeTEL(未知来源)xxx.FileManage mentService.archiveFile(FileManagementService.java:83)sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)java.lang.reflect.Method .invoke(未知来源)org.jboss.as.ee.component.ManagedReferenceMethodInterceptor.processInvocation(ManagedReferenceMethodInterceptor.java:52)org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)org.jboss.invocation.InterceptorContext $ Invocation.proceed(InterceptorContext.java:437)org.jboss.as.weld.ejb.Jsr299BindingsInterceptor.doMethodInterception(Jsr299BindingsInterceptor.java:82)org.jboss.as.weld.ejb.Jsr299BindingsInterceptor.processInvocation(Jsr299BindingsInterceptor.java:93) org.jboss.as.ee.component.interceptors.UserInterceptorFactory $ 1.processInvocation(UserInterceptorFactory.java:63)org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)org.jboss.as.ejb3.component.inv ocationmetrics.ExecutionTimeInterceptor.processInvocation(ExecutionTimeInterceptor.java:43)org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)org.jboss.as.jpa.interceptor.SBInvocationInterceptor.processInvocation(SBInvocationInterceptor.java:47)org . jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)org.jboss.invocation.InterceptorContext $ Invocation.proceed(InterceptorContext.java:437)org.jboss.weld.ejb.AbstractEJBRequestScopeActivationInterceptor.aroundInvoke(AbstractEJBRequestScopeActivationInterceptor.java:64) org.jboss.as.weld.ejb.EjbRequestScopeActivationInterceptor.processInvocation(EjbRequestScopeActivationInterceptor.java:83)org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)org.jboss.as.ee.concurrent.ConcurrentContextInterceptor.processInvocation( ConcurrentContextInterceptor.java:45)org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)org.jboss.invocation.InitialInterceptor.pr ocessInvocation(InitialInterceptor.java:21)org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)org.jboss.as.ee.component . interceptors.ComponentDispatcherInterceptor.processInvocation(ComponentDispatcherInterceptor.java:52)org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)org.jboss.as.ejb3.component.pool.PooledInstanceInterceptor.processInvocation(PooledInstanceInterceptor.java:51) org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:275)org.jboss.as.ejb3.tx.CMTTxInterceptor.required( CMTTxInterceptor.java:327)org.jboss.as.ejb3.tx.CMTTxInterceptor.processInvocation(CMTTxInterceptor.java:239)org.jboss.invocation.InterceptorContext.proceed(interceptorContext.java:340)org.jboss.as.ejb3 . component.interceptors.CurrentInvocationContextInterceptor.processIn vocation(CurrentInvocationContextInterceptor.java:41)org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)org.jboss.as.ejb3.component.invocationmetrics.WaitTimeInterceptor.processInvocation(WaitTimeInterceptor.java:43)org.jboss . invocation.InterceptorContext.proceed(InterceptorContext.java:340)org.jboss.as.ejb3.security.SecurityContextInterceptor.processInvocation(SecurityContextInterceptor.java:100)org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)org.jboss.as.ejb3.component.interceptors.ShutDownInterceptorFactory $ 1.processInvocation(ShutDownInterceptorFactory.java:64)org.jboss.invocation.InterceptorContext.proceed(InterceptorContext .java:340)org.jboss.as.ejb3.component.interceptors.LoggingInterceptor.processInvocation(LoggingInterceptor.java:66)org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)org.jboss.as.ee .component.NamespaceContextInterceptor.processInvocation(NamespaceContextInterceptor.java:50)org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)org.jboss.as.ejb3.component.interceptors.AdditionalSetupInterceptor.processInvocation(AdditionalSetupInterceptor.java:54 )org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)org.jboss.invocation.ContextClassLoaderInterceptor.processInvocation(ContextClassLoaderInterceptor.java:64)org.jboss.invocation.InterceptorContext.procee d(InterceptorContext.java:340)org.jboss.invocation.InterceptorContext.run(InterceptorContext.java:356)org.wildfly.security.manager.WildFlySecurityManager.doChecked(WildFlySecurityManager.java:636)org.jboss.invocation.AccessCheckingInterceptor . processInvocation(AccessCheckingInterceptor.java:61)org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)org.jboss.invocation.InterceptorContext.run(InterceptorContext.java:356)org.jboss.invocation.PrivilegedWithCombinerInterceptor.processInvocation( PrivilegedWithCombinerInterceptor.java:80)org.jboss.invocation.InterceptorContext.proceed(interceptorContext.java:340)org.jboss.invocation.ChainedInterceptor.processInvocation(chainedInterceptor.java:61)org.jboss.as.ee.component.ViewService $ View.invoke(ViewService.java:195)org.jboss.as.ee.component.ViewDescription $ 1.processInvocation(ViewDescription.java:185)org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)org.jboss .invocation.ChainedInterce ptor.processInvocation(ChainedInterceptor.java:61)org.jboss.as.ee.component.ProxyInvocationHandler.invoke(ProxyInvocationHandler.java:73)xxx.FileManagementService $$$ view6.archiveFile(Unknown Source)sun.reflect.NativeMethodAccessorImpl.invoke0 (本机方法)sun.reflect.NativeMethodAccessorImpl.invoke(未知来源)sun.reflect.DelegatingMethodAccessorImpl.invoke(未知来源)java.lang.reflect.Method.invoke(未知来源)org.jboss.weld.util.reflection.Reflections .invokeAndUnwrap(Reflections.java:436)org.jboss.weld.bean.proxy.EnterpriseBeanProxyMethodHandler.invoke(EnterpriseBeanProxyMethodHandler.java:127)org.jboss.weld.bean.proxy.EnterpriseTargetBeanInstance.invoke(EnterpriseTargetBeanInstance.java:56)org .jboss.weld.bean.proxy.InjectionPointPropagatingEnterpriseTargetBeanInstance.invoke(InjectionPointPropagatingEnterpriseTargetBeanInstance.java:67)org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:100)xxx.FileManagementService $ Proxy $$$ _ Weld $ Enterp riseProxy $ .archiveFile(Unknown Source)xxx.FileManagementController.archiveFile(FileManagementController.java:154)sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)sun.reflect.DelegatingMethodAccessorImpl.invoke( Unknown Source)java.lang.reflect.Method.invoke(Unknown Source)javax.el.ELUtil.invokeMethod(ELUtil.java:308)javax.el.BeanELResolver.invoke(BeanELResolver.java:415)javax.el.CompositeELResolver . invoke(CompositeELResolver.java:256)com.sun.el.parser.AstValue.invoke(AstValue.java:285)com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:304)org.jboss.weld.util . el.ForwardingMethodExpression.invoke(ForwardingMethodExpression.java:40)org.jboss.weld.el.WeldMethodExpression.invoke(WeldMethodExpression.java:50)org.jboss.weld.util.el.ForwardingMethodExpression.invoke(ForwardingMethodExpression.java:40) org.jboss.weld.el.WeldMethodExpression.invoke(WeldMethodExpression.java:50)com.sun.faces.facelets.e l.TagMethodExpression.invoke(TagMethodExpression.java:105)javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:87)com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)org.primefaces . application.DialogActionListener.processAction(DialogActionListener.java:45)javax.faces.component.UICommand.broadcast(UICommand.java:315)javax.faces.component.UIData.broadcast(UIData.java:1108)javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:790)javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1282)com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81) com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:198)javax.faces.webapp.FacesServlet.service(FacesServlet.java: 658)io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:85)io.undertow.servlet.handlers.FilterHandler $ FilterChainImpl.doFilter(FilterHandler.java:129)org.primefaces.webapp.filter.FileUploadFilter . doFilter(FileUploadFilter.java:78)io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:60)io.undertow.servlet.handlers.FilterHandler $ FilterChainImpl.doFilter(FilterHandler.java:131)io.undertow . servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:84)io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(Servl etSecurityRoleHandler.java:62)io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78)io.undertow.server . handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:131)io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java: 57)io.undertow.server.handlers.DisableCacheHandler.handleRequest(DisableCacheHandler.java:33)io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)io.undertow.security.handlers.AuthenticationConstraintHandler.handleRequest( AuthenticationConstraintHandler.java:51)io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHan dler.java:46)io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64)io.undertow.servlet.handlers.security.ServletSecurityConstraintHandler.handleRequest(ServletSecurityConstraintHandler.java:56)io.undertow . security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60)io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77)io.undertow.security.handlers.NotificationReceiverHandler.handleRequest(NotificationReceiverHandler.java: 50)io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43)io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)org.wildfly.extension.undertow.security.jacc . JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)io.undertow.server.handlers.Pre dicateHandler.handleRequest(PredicateHandler.java:43)io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:284)io.undertow . servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:263)io.undertow.servlet.handlers.ServletInitialHandler.access $ 000(ServletInitialHandler.java:81)io.undertow.servlet.handlers.ServletInitialHandler $ 1.handleRequest(ServletInitialHandler.java: 174)io.undertow.server.Connectors.executeRootHandler(Connectors.java:202)io.undertow.server.HttpServerExchange $ 1.run(HttpServerExchange.java:793)java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)java . util.concurrent.ThreadPoolExecutor $ Worker.run(Unknown Source)java.lang.Thread.run(Unknown Source)2016-06-21 15:53:31,436 WARN [com.arjuna.ats.arjuna](Transaction Reaper Worker 0) ARJUNA012108:CheckedAction :: check - 原子动作0:ffff0a00016d:-38267 8fc:5769432f:39中止,1个线程处于活动状态! 2016-06-21 15:53:31,436 WARN [org.jboss.as.txn](Transaction Reaper Worker 0)WFLYTX0027:pre-jca同步org.jboss.as.ejb3.component.stateful.StatefulSessionSynchronizationInterceptor$StatefulSessionSynchronization@e921ad与tx TransactionImple相关联<ac,BasicAction:0:ffff0a00016d:-382678fc:5769432f:39状态:ActionStatus.ABORTED>在完成后失败:java.lang.IllegalMonitorStateException atOrg.jboss.as.ejb3.tx.OwnableReentrantLock.unlock(OwnableReentrantLock.java:120)位于org.jboss.as的org.jboss.as.ejb3.component.stateful.StatefulSessionSynchronizationInterceptor.releaseLock(StatefulSessionSynchronizationInterceptor.java:181) . egb3.component.stateful.StatefulSessionSynchronizationInterceptor.releaseInstance(StatefulSessionSynchronizationInterceptor.java:173)位于org.jboss.as.txn的org.jboss.as.ejb3.component.stateful.StatefulSessionSynchronizationInterceptor $ StatefulSessionSynchronization.afterCompletion(StatefulSessionSynchronizationInterceptor.java:250) . service.internal.tsr.JCAOrderedLastSynchronizationList.afterCompletion(JCAOrderedLastSynchronizationList.java:147)位于com.arjuna.ats.arjuna的com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple.afterCompletion(SynchronizationImple.java:96) . 协调员.TwoPhaseCoordinator.afterCompletion(TwoPhaseCoordinator.java:545)at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.afterCompletion(TwoPhaseCoord) inator.java:476)com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.cancel(TwoPhaseCoordinator.java:130)at com.arjuna.ats.arjuna.AtomicAction.cancel(AtomicAction.java:215)at com.arjuna .ats.arjuna.coordinator.TransactionReaper.doCancellations(TransactionReaper.java:381)at com.arjuna.ats.internal.arjuna.coordinator.ReaperWorkerThread.run(ReaperWorkerThread.java:78)2016-06-21 15:53:31,436 WARN [com.arjuna.ats.arjuna](Transaction Reaper Worker 0)ARJUNA012121:TransactionReaper :: doCancellations worker Thread [Transaction Reaper Worker 0,5,main]成功取消TX 0:ffff0a00016d:-382678fc:5769432f:39

JDBC版本与DB-MySQL版本匹配,我不知道在哪里查看或者需要考虑哪些错误源 . 哦,超时设置为5分钟,所以不是这样 .

非常感谢您的帮助!

附:应用程序和Db都运行在相同的安全Windows服务器上,我通过localhost:3306访问,外部访问被阻止

2 回答

  • 0

    当问题发生时,检查mysql Build 了多少连接 - 您可以使用:

    mysql> SHOW FULL PROCESSLIST;
    

    它将为您提供有关MySQL DB打开连接数的信息 .

    也许尝试使用setAutocommit(true)或者如果有很多数据(性能问题)使用批处理模式并在串行插入数据并在每个之后提交 .

  • 1

    我解决了这个问题 . 我认为这是java.sql.DriverManager中的这段代码,但我无法验证 . 我的猜测是同步阻塞了一些东西,因为连接泄漏不是问题(原始代码中返回的连接用在try块中,因为java 7或8会自动关闭所有实现Autocloseable接口的东西)

    private static Connection getConnection(
            String url, java.util.Properties info, Class<?> caller) throws SQLException {
            /*
             * When callerCl is null, we should check the application's
             * (which is invoking this class indirectly)
             * classloader, so that the JDBC driver class outside rt.jar
             * can be loaded from here.
             */
            ClassLoader callerCL = caller != null ? caller.getClassLoader() : null;
            synchronized(DriverManager.class) {
                // synchronize loading of the correct classloader.
                if (callerCL == null) {
                    callerCL = Thread.currentThread().getContextClassLoader();
                }
            }
    

    我做的是使用连接池:

    http://www.javatips.net/blog/dbcp-connection-pooling-example

相关问题