On Wednesday 16 February 2011 12:20:31 PM Podiki Stifado wrote: > Hi, > > My web services call other web services and when I call my web services > concurrently I keep getting OverlappingFileLockExceptions from calling the > client. It seems I have to do something about making it work concurrently. > Can anybody give some pointers what I should do about this? This is the > stacktrace I got.
This exception is being thrown from the business logic on the server side. Basically, the JAXWSMethodInvoker.invoke line in the trace shows it's calling the business logic. Thus, I'd look in there someplace to make sure the service itself is thread safe. Dan > > Regards, > > Podiki > > org.apache.cxf.binding.soap.SoapFault: > java.nio.channels.OverlappingFileLockException > at > org.apache.cxf.jaxws.AbstractJAXWSMethodInvoker.createFault(AbstractJAXWSMe > thodInvoker.java:76) at > org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java: > 121) at > org.apache.cxf.jaxws.JAXWSMethodInvoker.invoke(JAXWSMethodInvoker.java:60) > at > org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java: > 75) at > org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerIn > terceptor.java:58) at > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) > at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) > at java.util.concurrent.FutureTask.run(FutureTask.java:138) > at > org.apache.cxf.workqueue.SynchronousExecutor.execute(SynchronousExecutor.ja > va:37) at > org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceI > nvokerInterceptor.java:106) at > org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChai > n.java:255) at > org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationO > bserver.java:113) at > org.apache.cxf.transport.servlet.ServletDestination.invoke(ServletDestinati > on.java:97) at > org.apache.cxf.transport.servlet.ServletController.invokeDestination(Servle > tController.java:461) at > org.apache.cxf.transport.servlet.ServletController.invoke(ServletController > .java:188) at > org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(AbstractCXFServl > et.java:148) at > org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(Abstract > HTTPServlet.java:179) at > org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPSer > vlet.java:103) at > javax.servlet.http.HttpServlet.service(HttpServlet.java:637) at > org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPSe > rvlet.java:159) at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicatio > nFilterChain.java:290) at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterC > hain.java:206) at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.j > ava:233) at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.j > ava:191) at > org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBas > e.java:470) at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:12 > 7) at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:10 > 2) at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.jav > a:109) at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) > at > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859) > at > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Htt > p11Protocol.java:588) at > org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) > at java.lang.Thread.run(Thread.java:662) > Caused by: javax.xml.ws.soap.SOAPFaultException: > java.nio.channels.OverlappingFileLockException > at > org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:146) > at $Proxy56.invoke(Unknown Source) > at > com.nxp.docstore.ws.SecureIncomingService.getUserProfile(SecureIncomingServ > ice.java:322) at sun.reflect.GeneratedMethodAccessor52.invoke(Unknown > Source) at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImp > l.java:25) at java.lang.reflect.Method.invoke(Method.java:597) > at > org.apache.cxf.service.invoker.AbstractInvoker.performInvocation(AbstractIn > voker.java:173) at > org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java: > 89) ... 31 more > Caused by: org.apache.cxf.binding.soap.SoapFault: > java.nio.channels.OverlappingFileLockException > at > org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.unmarshalF > ault(Soap11FaultInInterceptor.java:75) at > org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handleMess > age(Soap11FaultInInterceptor.java:46) at > org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handleMess > age(Soap11FaultInInterceptor.java:35) at > org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChai > n.java:255) at > org.apache.cxf.interceptor.AbstractFaultChainInitiatorObserver.onMessage(Ab > stractFaultChainInitiatorObserver.java:99) at > org.apache.cxf.binding.soap.interceptor.CheckFaultInterceptor.handleMessage > (CheckFaultInterceptor.java:69) at > org.apache.cxf.binding.soap.interceptor.CheckFaultInterceptor.handleMessage > (CheckFaultInterceptor.java:34) at > org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChai > n.java:255) at > org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:755) at > org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleRespons > eInternal(HTTPConduit.java:2330) at > org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleRespons > e(HTTPConduit.java:2192) at > org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPCon > duit.java:2036) at > org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56) > at > org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:696) at > org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInte > rceptor.handleMessage(MessageSenderInterceptor.java:62) at > org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChai > n.java:255) at > org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:516) at > org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:313) at > org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:265) at > org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73) at > org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:124) -- Daniel Kulp [email protected] http://dankulp.com/blog Talend - http://www.talend.com
