Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java CXF和Spring线程死锁_Java_Spring_Jaxb_Cxf_Deadlock - Fatal编程技术网

Java CXF和Spring线程死锁

Java CXF和Spring线程死锁,java,spring,jaxb,cxf,deadlock,Java,Spring,Jaxb,Cxf,Deadlock,我正在使用ApacheCxf3.0.0和Spring4.0.3.RELEASE以及SpringXMLS中的jaxws:client标记来创建客户机。在不同线程上初始化惰性“服务”bean时,我偶尔会遇到下面粘贴的死锁。我能找到的唯一信息是,它说: spring启动器和jaxws端点都试图访问 同时绘制春豆图。到目前为止,我还没有找到解决办法 有什么想法吗 Found one Java-level deadlock: ============================= "Thread-14

我正在使用ApacheCxf3.0.0和Spring4.0.3.RELEASE以及SpringXMLS中的jaxws:client标记来创建客户机。在不同线程上初始化惰性“服务”bean时,我偶尔会遇到下面粘贴的死锁。我能找到的唯一信息是,它说:

spring启动器和jaxws端点都试图访问 同时绘制春豆图。到目前为止,我还没有找到解决办法

有什么想法吗

Found one Java-level deadlock:
=============================
"Thread-14":
  waiting to lock monitor 0x000000001fb0c218 (object 0x0000000704f9f558, a java.util.concurrent.ConcurrentHashMap),
  which is held by "Thread-12"
"Thread-12":
  waiting to lock monitor 0x00000000240d6d38 (object 0x00000007052ad1b0, a org.apache.cxf.bus.extension.Extension),
  which is held by "Thread-14"

Java stack information for the threads listed above:
===================================================
"Thread-14":
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingletonNames(DefaultSingletonBeanRegistry.java:286)
    - waiting to lock <0x0000000704f9f558> (a java.util.concurrent.ConcurrentHashMap)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.doGetBeanNamesForType(DefaultListableBeanFactory.java:422)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanNamesForType(DefaultListableBeanFactory.java:354)
    at org.springframework.context.support.AbstractApplicationContext.getBeanNamesForType(AbstractApplicationContext.java:1057)
    at org.apache.cxf.bus.spring.SpringBeanLocator.getBeansOfType(SpringBeanLocator.java:145)
    at org.apache.cxf.bus.extension.ExtensionManagerBus.getExtension(ExtensionManagerBus.java:206)
    at org.apache.cxf.ws.policy.attachment.AbstractPolicyProvider.setBus(AbstractPolicyProvider.java:60)
    at org.apache.cxf.ws.policy.attachment.AbstractPolicyProvider.<init>(AbstractPolicyProvider.java:54)
    at org.apache.cxf.ws.policy.attachment.ServiceModelPolicyProvider.<init>(ServiceModelPolicyProvider.java:35)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:408)
    at org.apache.cxf.bus.extension.Extension.load(Extension.java:208)
    at org.apache.cxf.bus.extension.ExtensionManagerImpl.loadAndRegister(ExtensionManagerImpl.java:202)
    - locked <0x00000007052ad1b0> (a org.apache.cxf.bus.extension.Extension)
    at org.apache.cxf.bus.extension.ExtensionManagerImpl.getBeansOfType(ExtensionManagerImpl.java:323)
    - locked <0x00000007052ad1b0> (a org.apache.cxf.bus.extension.Extension)
    at org.apache.cxf.bus.spring.SpringBeanLocator.getBeansOfType(SpringBeanLocator.java:153)
    at org.apache.cxf.ws.policy.PolicyEngineImpl.getPolicyProviders(PolicyEngineImpl.java:141)
    - locked <0x00000007052be308> (a org.apache.cxf.ws.policy.PolicyEngineImpl)
    at org.apache.cxf.ws.policy.PolicyEngineImpl.getAggregatedServicePolicy(PolicyEngineImpl.java:437)
    at org.apache.cxf.ws.policy.EndpointPolicyImpl.initializePolicy(EndpointPolicyImpl.java:150)
    at org.apache.cxf.ws.policy.EndpointPolicyImpl.initialize(EndpointPolicyImpl.java:139)
    at org.apache.cxf.ws.policy.PolicyEngineImpl.createEndpointPolicyInfo(PolicyEngineImpl.java:584)
    at org.apache.cxf.ws.policy.PolicyEngineImpl.getEndpointPolicy(PolicyEngineImpl.java:313)
    - locked <0x0000000789702418> (a org.apache.cxf.binding.soap.SoapTransportFactory$SoapEndpointInfo)
    at org.apache.cxf.ws.policy.PolicyEngineImpl.getClientEndpointPolicy(PolicyEngineImpl.java:294)
    at org.apache.cxf.ws.policy.EffectivePolicyImpl.initialisePolicy(EffectivePolicyImpl.java:164)
    at org.apache.cxf.ws.policy.EffectivePolicyImpl.initialise(EffectivePolicyImpl.java:95)
    at org.apache.cxf.ws.policy.PolicyEngineImpl.getEffectiveClientRequestPolicy(PolicyEngineImpl.java:205)
    - locked <0x0000000789702418> (a org.apache.cxf.binding.soap.SoapTransportFactory$SoapEndpointInfo)
    at org.apache.cxf.ws.policy.PolicyOutInterceptor.handle(PolicyOutInterceptor.java:98)
    at org.apache.cxf.ws.policy.AbstractPolicyInterceptor.handleMessage(AbstractPolicyInterceptor.java:44)
    at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:307)
    - locked <0x00000007897acb68> (a org.apache.cxf.phase.PhaseInterceptorChain)
    at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:514)
    at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:423)
    at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:326)
    at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:279)
    at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:96)
    at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:137)
    at com.sun.proxy.$Proxy112.listAllNonCrudEvents(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:483)
    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:201)
    at com.sun.proxy.$Proxy22.listAllNonCrudEvents(Unknown Source)
    at ....loadItems(EventsController.java:73)
    at ...call(AbstractTableViewLoader.java:96)
    - locked <0x00000007051bf468> (a ...gui.application.controller.EventsController$1)
    at ....AbstractTableViewLoader$1.call(AbstractTableViewLoader.java:91)
    at javafx.concurrent.Task$TaskCallable.call(Task.java:1409)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.lang.Thread.run(Thread.java:745)
"Thread-12":
    at org.apache.cxf.bus.extension.ExtensionManagerImpl.getBeansOfType(ExtensionManagerImpl.java:320)
    - waiting to lock <0x00000007052ad1b0> (a org.apache.cxf.bus.extension.Extension)
    at org.apache.cxf.bus.spring.SpringBeanLocator.getBeansOfType(SpringBeanLocator.java:153)
    at org.apache.cxf.transport.jms.JMSConfigFactory.getTransactionManager(JMSConfigFactory.java:149)
    at org.apache.cxf.transport.jms.JMSConfigFactory.createFromEndpoint(JMSConfigFactory.java:90)
    at org.apache.cxf.transport.jms.JMSConfigFactory.createFromEndpointInfo(JMSConfigFactory.java:53)
    at org.apache.cxf.transport.jms.JMSTransportFactory.getConduit(JMSTransportFactory.java:69)
    at org.apache.cxf.binding.soap.SoapTransportFactory.getConduit(SoapTransportFactory.java:222)
    at org.apache.cxf.binding.soap.SoapTransportFactory.getConduit(SoapTransportFactory.java:229)
    at org.apache.cxf.endpoint.AbstractConduitSelector.createConduit(AbstractConduitSelector.java:145)
    - locked <0x0000000789d9a968> (a org.apache.cxf.jaxws.support.JaxWsEndpointImpl)
    at org.apache.cxf.endpoint.AbstractConduitSelector.getSelectedConduit(AbstractConduitSelector.java:107)
    at org.apache.cxf.endpoint.UpfrontConduitSelector.selectConduit(UpfrontConduitSelector.java:77)
    at org.apache.cxf.endpoint.ClientImpl.getConduit(ClientImpl.java:845)
    at org.apache.cxf.transport.jms.JMSConfigFeature.initialize(JMSConfigFeature.java:48)
    at org.apache.cxf.frontend.ClientFactoryBean.applyFeatures(ClientFactoryBean.java:112)
    at org.apache.cxf.frontend.ClientFactoryBean.create(ClientFactoryBean.java:100)
    at org.apache.cxf.frontend.ClientProxyFactoryBean.create(ClientProxyFactoryBean.java:157)
    - locked <0x000000070556f020> (a org.apache.cxf.jaxws.spring.JaxWsProxyFactoryBeanDefinitionParser$JAXWSSpringClientProxyFactoryBean)
    at org.apache.cxf.jaxws.JaxWsProxyFactoryBean.create(JaxWsProxyFactoryBean.java:142)
    - locked <0x000000070556f020> (a org.apache.cxf.jaxws.spring.JaxWsProxyFactoryBeanDefinitionParser$JAXWSSpringClientProxyFactoryBean)
    at org.apache.cxf.jaxws.spring.JaxWsProxyFactoryBeanDefinitionParser$JAXWSSpringClientProxyFactoryBean.create(JaxWsProxyFactoryBeanDefinitionParser.java:79)
    at org.apache.cxf.jaxws.spring.JaxWsProxyFactoryBeanDefinitionParser$JAXWSSpringClientProxyFactoryBean.getObject(JaxWsProxyFactoryBeanDefinitionParser.java:83)
    - locked <0x000000070556f020> (a org.apache.cxf.jaxws.spring.JaxWsProxyFactoryBeanDefinitionParser$JAXWSSpringClientProxyFactoryBean)
    at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:144)
    at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.getObjectFromFactoryBean(FactoryBeanRegistrySupport.java:103)
    - locked <0x0000000704f9f558> (a java.util.concurrent.ConcurrentHashMap)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getObjectForBeanInstance(AbstractBeanFactory.java:1514)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:252)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:195)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:1017)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:960)
    at org.springframework.context.annotation.ContextAnnotationAutowireCandidateResolver$1.getTarget(ContextAnnotationAutowireCandidateResolver.java:82)
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:187)
    at com.sun.proxy.$Proxy30.listDailyStatistics(Unknown Source)
    at ....StatisticsController$1.loadItems(StatisticsController.java:100)
    at ....AbstractTableViewLoader$1.call(AbstractTableViewLoader.java:96)
    - locked <0x0000000705228170> (a ...StatisticsController$1)
    at ....AbstractTableViewLoader$1.call(AbstractTableViewLoader.java:91)
    at javafx.concurrent.Task$TaskCallable.call(Task.java:1409)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.lang.Thread.run(Thread.java:745)
发现一个Java级死锁:
=============================
“线程-14”:
正在等待锁定监视器0x000000001fb0c218(对象0x0000000704f9f558,一个java.util.concurrent.ConcurrentHashMap),
由“螺纹-12”固定
“线程-12”:
等待锁定监视器0x00000000240d6d38(对象0x00000007052ad1b0,一个org.apache.cxf.bus.extension.extension),
由“螺纹-14”固定
上面列出的线程的Java堆栈信息:
===================================================
“线程-14”:
位于org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingletonNames(DefaultSingletonBeanRegistry.java:286)
-等待锁定(java.util.concurrent.ConcurrentHashMap)
位于org.springframework.beans.factory.support.DefaultListableBeanFactory.doGetBeanNamesForType(DefaultListableBeanFactory.java:422)
位于org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanNamesForType(DefaultListableBeanFactory.java:354)
位于org.springframework.context.support.AbstractApplicationContext.getBeanNamesForType(AbstractApplicationContext.java:1057)
位于org.apache.cxf.bus.spring.springbeanlotator.getBeansOfType(springbeanlotator.java:145)
位于org.apache.cxf.bus.extension.ExtensionManagerBus.getExtension(ExtensionManagerBus.java:206)
位于org.apache.cxf.ws.policy.attachment.AbstractPolicyProvider.setBus(AbstractPolicyProvider.java:60)
位于org.apache.cxf.ws.policy.attachment.AbstractPolicyProvider。(AbstractPolicyProvider.java:54)
位于org.apache.cxf.ws.policy.attachment.ServiceModelPolicyProvider。(ServiceModelPolicyProvider.java:35)
位于sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法)
位于sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
在sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
位于java.lang.reflect.Constructor.newInstance(Constructor.java:408)
位于org.apache.cxf.bus.extension.extension.load(extension.java:208)
位于org.apache.cxf.bus.extension.ExtensionManagerImpl.loadAndRegister(ExtensionManagerImpl.java:202)
-锁定(org.apache.cxf.bus.extension.extension)
位于org.apache.cxf.bus.extension.ExtensionManagerImpl.getBeansOfType(ExtensionManagerImpl.java:323)
-锁定(org.apache.cxf.bus.extension.extension)
位于org.apache.cxf.bus.spring.springbeanlotator.getBeansOfType(springbeanlotator.java:153)
位于org.apache.cxf.ws.policy.PolicyEngineImpl.getPolicyProviders(PolicyEngineImpl.java:141)
-锁定(org.apache.cxf.ws.policy.PolicyEngineImpl)
位于org.apache.cxf.ws.policy.PolicyEngineImpl.getAggregatedServicePolicy(PolicyEngineImpl.java:437)
位于org.apache.cxf.ws.policy.EndpointPolicyImpl.initializePolicy(EndpointPolicyImpl.java:150)
位于org.apache.cxf.ws.policy.EndpointPolicyImpl.initialize(EndpointPolicyImpl.java:139)
位于org.apache.cxf.ws.policy.PolicyEngineImpl.createEndpointPolicyInfo(PolicyEngineImpl.java:584)
位于org.apache.cxf.ws.policy.PolicyEngineImpl.getEndpointPolicy(PolicyEngineImpl.java:313)
-锁定(org.apache.cxf.binding.soap.SoapTransportFactory$SoapEndpointInfo)
位于org.apache.cxf.ws.policy.PolicyEngineImpl.getClientEndpointPolicy(PolicyEngineImpl.java:294)
位于org.apache.cxf.ws.policy.EffectivePolicyImpl.initialisePolicy(EffectivePolicyImpl.java:164)
位于org.apache.cxf.ws.policy.EffectivePolicyImpl.initialise(EffectivePolicyImpl.java:95)
位于org.apache.cxf.ws.policy.PolicyEngineImpl.getEffectiveClientRequestPolicy(PolicyEngineImpl.java:205)
-锁定(org.apache.cxf.binding.soap.SoapTransportFactory$SoapEndpointInfo)
位于org.apache.cxf.ws.policy.PolicyOutiterCeptor.handle(PolicyOutiterCeptor.java:98)
位于org.apache.cxf.ws.policy.AbstractPolicyInterceptor.handleMessage(AbstractPolicyInterceptor.java:44)
位于org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:307)
-锁定(org.apache.cxf.phase.PhaseInterceptorChain)
位于org.apache.cxf.endpoint.clientmpl.doInvoke(clientmpl.java:514)
位于org.apache.cxf.endpoint.clientmpl.invoke(clientmpl.java:423)
位于org.apache.cxf.endpoint.clientmpl.invoke(clientmpl.java:326)
位于org.apache.cxf.endpoint.clientmpl.invoke(clientmpl.java:279)
位于org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:96)
位于org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:137)
在com.sun.proxy.$Proxy112.listAllNonCrudEvents上(未知源)
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处
位于sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)中
位于java.lang.reflect.Method.invoke(Method.java:483)
位于org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
位于org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:201)
在com.sun.proxy.$Proxy22.listAllNonCrudEvents上(未知源)
在…loadItems(EventsController.java:73)
at…call(AbstractTableViewLoader.java:96)
-锁定(a…gui.application.controller.EventsController$1)
在…AbstractTableViewLoader$1.call(AbstractTableViewLoader.java:91)
位于javafx.concurrent.Task$TaskCallable.call(Task.java:1409)
在java.util.concurrent.FutureTask.run(FutureTask.java:266)处
运行(Thread.java:745)
“线程-12”:
在org.apa