Hi, I'm running a WSDL2JAVA generated CXF WS Client in Tomcat 6.0.10 to call external WS for the incoming request.
I'm using one Serivce Object to create one new port object for each WS Call per thread, it seems that, eventually all the http threads are blocked at: org.apache.cxf.jaxb.JAXBDataBinding.createJAXBContext(JAXBDataBinding.java:530) I'm using CXF 2.1.1, the Tomcat Server is running on Linux with IBM 64bit JVM. The following is the thread dump snippet: 3LKMONOBJECT org/apache/cxf/common/util/[EMAIL PROTECTED]/00000080D941B848: Flat locked by "http-7101-2" (0x000000001129F300), entry count 1 3LKWAITERQ Waiting to enter: 3LKWAITER "http-7101-1" (0x0000000010870F00) 3LKWAITER "http-7101-3" (0x00000000112A5C00) 3LKWAITER "http-7101-4" (0x00000000128C4300) 3LKWAITER "http-7101-5" (0x00000000137B9D00) 3LKWAITER "http-7101-6" (0x00000000137CAF00) 3LKWAITER "http-7101-7" (0x00000000137DF000) 3LKWAITER "http-7101-8" (0x00000000137EF200) 3LKWAITER "http-7101-9" (0x0000000013800300) 3LKWAITER "http-7101-10" (0x000000001335A600) (... ...) 3LKWAITER "http-7101-60" (0x0000000014797300) 3XMTHREADINFO "http-7101-2" (TID:0x000000001129F300, sys_thread_t:0x0000000010862110, state:CW, native ID:0x00000000000057CA) prio=5 4XESTACKTRACE at com/sun/xml/bind/v2/model/impl/TypeInfoSetImpl.getElementInfo(TypeInfoSetImpl.java:275(Compiled Code)) 4XESTACKTRACE at com/sun/xml/bind/v2/model/impl/RuntimeTypeInfoSetImpl.getElementInfo(RuntimeTypeInfoSetImpl.java:102) 4XESTACKTRACE at com/sun/xml/bind/v2/model/impl/RuntimeTypeInfoSetImpl.getElementInfo(RuntimeTypeInfoSetImpl.java:59) 4XESTACKTRACE at com/sun/xml/bind/v2/model/impl/ReferencePropertyInfoImpl.addGenericElement(ReferencePropertyInfoImpl.java:196) 4XESTACKTRACE at com/sun/xml/bind/v2/model/impl/ReferencePropertyInfoImpl.calcTypes(ReferencePropertyInfoImpl.java:158(Compiled Code)) 4XESTACKTRACE at com/sun/xml/bind/v2/model/impl/ReferencePropertyInfoImpl.getElements(ReferencePropertyInfoImpl.java:112) 4XESTACKTRACE at com/sun/xml/bind/v2/model/impl/RuntimeReferencePropertyInfoImpl.getElements(RuntimeReferencePropertyInfoImpl.java:67) 4XESTACKTRACE at com/sun/xml/bind/v2/model/impl/ReferencePropertyInfoImpl.ref(ReferencePropertyInfoImpl.java:103) 4XESTACKTRACE at com/sun/xml/bind/v2/model/impl/RuntimeReferencePropertyInfoImpl.ref(RuntimeReferencePropertyInfoImpl.java:71) 4XESTACKTRACE at com/sun/xml/bind/v2/model/impl/RuntimeReferencePropertyInfoImpl.ref(RuntimeReferencePropertyInfoImpl.java:51) 4XESTACKTRACE at com/sun/xml/bind/v2/model/impl/ModelBuilder.getClassInfo(ModelBuilder.java:255(Compiled Code)) 4XESTACKTRACE at com/sun/xml/bind/v2/model/impl/RuntimeModelBuilder.getClassInfo(RuntimeModelBuilder.java:98) 4XESTACKTRACE at com/sun/xml/bind/v2/model/impl/RuntimeModelBuilder.getClassInfo(RuntimeModelBuilder.java:79) 4XESTACKTRACE at com/sun/xml/bind/v2/model/impl/ModelBuilder.getClassInfo(ModelBuilder.java:209) 4XESTACKTRACE at com/sun/xml/bind/v2/model/impl/RuntimeModelBuilder.getClassInfo(RuntimeModelBuilder.java:93) 4XESTACKTRACE at com/sun/xml/bind/v2/model/impl/RuntimeModelBuilder.getClassInfo(RuntimeModelBuilder.java:79) 4XESTACKTRACE at com/sun/xml/bind/v2/model/impl/ModelBuilder.getTypeInfo(ModelBuilder.java:315(Compiled Code)) 4XESTACKTRACE at com/sun/xml/bind/v2/model/impl/RegistryInfoImpl.<init>(RegistryInfoImpl.java:99) 4XESTACKTRACE at com/sun/xml/bind/v2/model/impl/ModelBuilder.addRegistry(ModelBuilder.java:357(Compiled Code)) 4XESTACKTRACE at com/sun/xml/bind/v2/model/impl/ModelBuilder.getClassInfo(ModelBuilder.java:218(Compiled Code)) 4XESTACKTRACE at com/sun/xml/bind/v2/model/impl/RuntimeModelBuilder.getClassInfo(RuntimeModelBuilder.java:98) 4XESTACKTRACE at com/sun/xml/bind/v2/model/impl/RuntimeModelBuilder.getClassInfo(RuntimeModelBuilder.java:79) 4XESTACKTRACE at com/sun/xml/bind/v2/model/impl/ModelBuilder.getClassInfo(ModelBuilder.java:209) 4XESTACKTRACE at com/sun/xml/bind/v2/model/impl/RuntimeModelBuilder.getClassInfo(RuntimeModelBuilder.java:93) 4XESTACKTRACE at com/sun/xml/bind/v2/model/impl/RuntimeModelBuilder.getClassInfo(RuntimeModelBuilder.java:79) 4XESTACKTRACE at com/sun/xml/bind/v2/model/impl/ModelBuilder.getTypeInfo(ModelBuilder.java:315(Compiled Code)) 4XESTACKTRACE at com/sun/xml/bind/v2/model/impl/TypeRefImpl.calcRef(TypeRefImpl.java:92) 4XESTACKTRACE at com/sun/xml/bind/v2/model/impl/TypeRefImpl.getTarget(TypeRefImpl.java:69) 4XESTACKTRACE at com/sun/xml/bind/v2/model/impl/RuntimeTypeRefImpl.getTarget(RuntimeTypeRefImpl.java:58) 4XESTACKTRACE at com/sun/xml/bind/v2/model/impl/RuntimeTypeRefImpl.getTarget(RuntimeTypeRefImpl.java:51) 4XESTACKTRACE at com/sun/xml/bind/v2/model/impl/ElementPropertyInfoImpl$1.get(ElementPropertyInfoImpl.java:74) 4XESTACKTRACE at com/sun/xml/bind/v2/model/impl/ElementPropertyInfoImpl$1.get(ElementPropertyInfoImpl.java:77) 4XESTACKTRACE at java/util/AbstractList$Itr.next(AbstractList.java:437(Compiled Code)) 4XESTACKTRACE at com/sun/xml/bind/v2/model/impl/ModelBuilder.getClassInfo(ModelBuilder.java:255(Compiled Code)) 4XESTACKTRACE at com/sun/xml/bind/v2/model/impl/RuntimeModelBuilder.getClassInfo(RuntimeModelBuilder.java:98) 4XESTACKTRACE at com/sun/xml/bind/v2/model/impl/RuntimeModelBuilder.getClassInfo(RuntimeModelBuilder.java:79) 4XESTACKTRACE at com/sun/xml/bind/v2/model/impl/ModelBuilder.getClassInfo(ModelBuilder.java:209) 4XESTACKTRACE at com/sun/xml/bind/v2/model/impl/RuntimeModelBuilder.getClassInfo(RuntimeModelBuilder.java:93) 4XESTACKTRACE at com/sun/xml/bind/v2/model/impl/RuntimeModelBuilder.getClassInfo(RuntimeModelBuilder.java:79) 4XESTACKTRACE at com/sun/xml/bind/v2/model/impl/ModelBuilder.getTypeInfo(ModelBuilder.java:315(Compiled Code)) 4XESTACKTRACE at com/sun/xml/bind/v2/model/impl/ModelBuilder.getTypeInfo(ModelBuilder.java:330) 4XESTACKTRACE at com/sun/xml/bind/v2/runtime/JAXBContextImpl.getTypeInfoSet(JAXBContextImpl.java:432) 4XESTACKTRACE at com/sun/xml/bind/v2/runtime/JAXBContextImpl.<init>(JAXBContextImpl.java:286) 4XESTACKTRACE at com/sun/xml/bind/v2/ContextFactory.createContext(ContextFactory.java:139) 4XESTACKTRACE at com/sun/xml/bind/v2/ContextFactory.createContext(ContextFactory.java:117) 4XESTACKTRACE at sun/reflect/NativeMethodAccessorImpl.invoke0(Native Method) 4XESTACKTRACE at sun/reflect/NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64(Compiled Code)) 4XESTACKTRACE at sun/reflect/DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43(Compiled Code)) 4XESTACKTRACE at java/lang/reflect/Method.invoke(Method.java:615(Compiled Code)) 4XESTACKTRACE at javax/xml/bind/ContextFinder.newInstance(ContextFinder.java:211) 4XESTACKTRACE at javax/xml/bind/ContextFinder.find(ContextFinder.java:372) 4XESTACKTRACE at javax/xml/bind/JAXBContext.newInstance(JAXBContext.java:574) 4XESTACKTRACE at org/apache/cxf/jaxb/JAXBDataBinding.createJAXBContext(JAXBDataBinding.java:532) 4XESTACKTRACE at org/apache/cxf/jaxb/JAXBDataBinding.initialize(JAXBDataBinding.java:287) 4XESTACKTRACE at org/apache/cxf/service/factory/ReflectionServiceFactoryBean.buildServiceFromWSDL(ReflectionServiceFactoryBean.java:313) 4XESTACKTRACE at org/apache/cxf/service/factory/ReflectionServiceFactoryBean.initializeServiceModel(ReflectionServiceFactoryBean.java:394) 4XESTACKTRACE at org/apache/cxf/service/factory/ReflectionServiceFactoryBean.create(ReflectionServiceFactoryBean.java:181) 4XESTACKTRACE at org/apache/cxf/jaxws/support/JaxWsServiceFactoryBean.create(JaxWsServiceFactoryBean.java:163) 4XESTACKTRACE at org/apache/cxf/frontend/AbstractWSDLBasedEndpointFactory.createEndpoint(AbstractWSDLBasedEndpointFactory.java:79) 4XESTACKTRACE at org/apache/cxf/frontend/ClientFactoryBean.create(ClientFactoryBean.java:51) 4XESTACKTRACE at org/apache/cxf/frontend/ClientProxyFactoryBean.create(ClientProxyFactoryBean.java:97) 4XESTACKTRACE at org/apache/cxf/jaxws/JaxWsProxyFactoryBean.create(JaxWsProxyFactoryBean.java:93) 4XESTACKTRACE at org/apache/cxf/jaxws/ServiceImpl.createPort(ServiceImpl.java:369) 4XESTACKTRACE at org/apache/cxf/jaxws/ServiceImpl.getPort(ServiceImpl.java:247) 4XESTACKTRACE at org/apache/cxf/jaxws/ServiceImpl.getPort(ServiceImpl.java:234) 4XESTACKTRACE at javax/xml/ws/Service.getPort(Service.java:40) 4XESTACKTRACE at com/netflix/watchnow/wsclient/adminedqueue/AdminEDQueueService.getAdminEDQueueServiceHttpPort(AdminEDQueueService.java:65) 4XESTACKTRACE at com/netflix/watchnow/wsclient/AdminEDQueueServiceClient.getAdminEDQueueServicePort(AdminEDQueueServiceClient.java:87) 4XESTACKTRACE at com/netflix/watchnow/wsclient/AdminEDQueueServiceClient.prefetchEDQueueForNewBox(AdminEDQueueServiceClient.java:91) 3XMTHREADINFO "http-7101-3" (TID:0x00000000112A5C00, sys_thread_t:0x00000000108625E0, state:B, native ID:0x00000000000057CB) prio=5 4XESTACKTRACE at org/apache/cxf/jaxb/JAXBDataBinding.createJAXBContext(JAXBDataBinding.java:530) 4XESTACKTRACE at org/apache/cxf/jaxb/JAXBDataBinding.initialize(JAXBDataBinding.java:287) 4XESTACKTRACE at org/apache/cxf/service/factory/ReflectionServiceFactoryBean.buildServiceFromWSDL(ReflectionServiceFactoryBean.java:313) 4XESTACKTRACE at org/apache/cxf/service/factory/ReflectionServiceFactoryBean.initializeServiceModel(ReflectionServiceFactoryBean.java:394) 4XESTACKTRACE at org/apache/cxf/service/factory/ReflectionServiceFactoryBean.create(ReflectionServiceFactoryBean.java:181) 4XESTACKTRACE at org/apache/cxf/jaxws/support/JaxWsServiceFactoryBean.create(JaxWsServiceFactoryBean.java:163) 4XESTACKTRACE at org/apache/cxf/frontend/AbstractWSDLBasedEndpointFactory.createEndpoint(AbstractWSDLBasedEndpointFactory.java:79) 4XESTACKTRACE at org/apache/cxf/frontend/ClientFactoryBean.create(ClientFactoryBean.java:51) 4XESTACKTRACE at org/apache/cxf/frontend/ClientProxyFactoryBean.create(ClientProxyFactoryBean.java:97) 4XESTACKTRACE at org/apache/cxf/jaxws/JaxWsProxyFactoryBean.create(JaxWsProxyFactoryBean.java:93) 4XESTACKTRACE at org/apache/cxf/jaxws/ServiceImpl.createPort(ServiceImpl.java:369) 4XESTACKTRACE at org/apache/cxf/jaxws/ServiceImpl.getPort(ServiceImpl.java:247) 4XESTACKTRACE at org/apache/cxf/jaxws/ServiceImpl.getPort(ServiceImpl.java:234) 4XESTACKTRACE at javax/xml/ws/Service.getPort(Service.java:40) 4XESTACKTRACE at com/netflix/watchnow/wsclient/adminedqueue/AdminEDQueueService.getAdminEDQueueServiceHttpPort(AdminEDQueueService.java:65) 4XESTACKTRACE at com/netflix/watchnow/wsclient/AdminEDQueueServiceClient.getAdminEDQueueServicePort(AdminEDQueueServiceClient.java:87) 4XESTACKTRACE at com/netflix/watchnow/wsclient/AdminEDQueueServiceClient.prefetchEDQueueForNewBox(AdminEDQueueServiceClient.java:91) (... ...) "http-7101-30" (TID:0x00000000131A6400, sys_thread_t:0x000000001442D4A0, state:B, native ID:0x0000000000004808) prio=5 4XESTACKTRACE at org/apache/cxf/jaxb/JAXBDataBinding.createJAXBContext(JAXBDataBinding.java:530(Compiled Code)) 4XESTACKTRACE at org/apache/cxf/jaxb/JAXBDataBinding.initialize(JAXBDataBinding.java:287) 4XESTACKTRACE at org/apache/cxf/service/factory/ReflectionServiceFactoryBean.buildServiceFromWSDL(ReflectionServiceFactoryBean.java:313) 4XESTACKTRACE at org/apache/cxf/service/factory/ReflectionServiceFactoryBean.initializeServiceModel(ReflectionServiceFactoryBean.java:394) 4XESTACKTRACE at org/apache/cxf/service/factory/ReflectionServiceFactoryBean.create(ReflectionServiceFactoryBean.java:181) 4XESTACKTRACE at org/apache/cxf/jaxws/support/JaxWsServiceFactoryBean.create(JaxWsServiceFactoryBean.java:163) 4XESTACKTRACE at org/apache/cxf/frontend/AbstractWSDLBasedEndpointFactory.createEndpoint(AbstractWSDLBasedEndpointFactory.java:79) 4XESTACKTRACE at org/apache/cxf/frontend/ClientFactoryBean.create(ClientFactoryBean.java:51) 4XESTACKTRACE at org/apache/cxf/frontend/ClientProxyFactoryBean.create(ClientProxyFactoryBean.java:97) 4XESTACKTRACE at org/apache/cxf/jaxws/JaxWsProxyFactoryBean.create(JaxWsProxyFactoryBean.java:93) 4XESTACKTRACE at org/apache/cxf/jaxws/ServiceImpl.createPort(ServiceImpl.java:369) 4XESTACKTRACE at org/apache/cxf/jaxws/ServiceImpl.getPort(ServiceImpl.java:247) 4XESTACKTRACE at org/apache/cxf/jaxws/ServiceImpl.getPort(ServiceImpl.java:234) 4XESTACKTRACE at javax/xml/ws/Service.getPort(Service.java:40) 4XESTACKTRACE at com/netflix/watchnow/wsclient/adminedqueue/AdminEDQueueService.getAdminEDQueueServiceHttpPort(AdminEDQueueService.java:65) 4XESTACKTRACE at com/netflix/watchnow/wsclient/AdminEDQueueServiceClient.getAdminEDQueueServicePort(AdminEDQueueServiceClient.java:87) 4XESTACKTRACE at com/netflix/watchnow/wsclient/AdminEDQueueServiceClient.prefetchEDQueueForNewBox(AdminEDQueueServiceClient.java:91) (... ...) "http-7101-60" (TID:0x0000000014797300, sys_thread_t:0x0000000014782D40, state:B, native ID:0x0000000000004C25) prio=5 4XESTACKTRACE at org/apache/cxf/jaxb/JAXBDataBinding.createJAXBContext(JAXBDataBinding.java:530(Compiled Code)) 4XESTACKTRACE at org/apache/cxf/jaxb/JAXBDataBinding.initialize(JAXBDataBinding.java:287) 4XESTACKTRACE at org/apache/cxf/service/factory/ReflectionServiceFactoryBean.buildServiceFromWSDL(ReflectionServiceFactoryBean.java:313) 4XESTACKTRACE at org/apache/cxf/service/factory/ReflectionServiceFactoryBean.initializeServiceModel(ReflectionServiceFactoryBean.java:394) 4XESTACKTRACE at org/apache/cxf/service/factory/ReflectionServiceFactoryBean.create(ReflectionServiceFactoryBean.java:181) 4XESTACKTRACE at org/apache/cxf/jaxws/support/JaxWsServiceFactoryBean.create(JaxWsServiceFactoryBean.java:163) 4XESTACKTRACE at org/apache/cxf/frontend/AbstractWSDLBasedEndpointFactory.createEndpoint(AbstractWSDLBasedEndpointFactory.java:79) 4XESTACKTRACE at org/apache/cxf/frontend/ClientFactoryBean.create(ClientFactoryBean.java:51) 4XESTACKTRACE at org/apache/cxf/frontend/ClientProxyFactoryBean.create(ClientProxyFactoryBean.java:97) 4XESTACKTRACE at org/apache/cxf/jaxws/JaxWsProxyFactoryBean.create(JaxWsProxyFactoryBean.java:93) 4XESTACKTRACE at org/apache/cxf/jaxws/ServiceImpl.createPort(ServiceImpl.java:369) 4XESTACKTRACE at org/apache/cxf/jaxws/ServiceImpl.getPort(ServiceImpl.java:247) 4XESTACKTRACE at org/apache/cxf/jaxws/ServiceImpl.getPort(ServiceImpl.java:234) 4XESTACKTRACE at javax/xml/ws/Service.getPort(Service.java:40) 4XESTACKTRACE at com/netflix/watchnow/wsclient/adminedqueue/AdminEDQueueService.getAdminEDQueueServiceHttpPort(AdminEDQueueService.java:65) 4XESTACKTRACE at com/netflix/watchnow/wsclient/AdminEDQueueServiceClient.getAdminEDQueueServicePort(AdminEDQueueServiceClient.java:87) 4XESTACKTRACE at com/netflix/watchnow/wsclient/AdminEDQueueServiceClient.prefetchEDQueueForNewBox(AdminEDQueueServiceClient.java:91) Is this a bug in CXF? Or I have to create new Service Object per Thread? Any suggestion or tip is really appreciated. Thanks a lot! Jian
