Minor correction:  An object backed by a Xerces-based Document is not
thread-safe unless you put the protections in place, such as
synchronized method access, etc.
 

-----Original Message-----
From: Vinh Nguyen (vinguye2) 
Sent: Tuesday, May 27, 2008 11:05 AM
To: 'axis-user@ws.apache.org'
Subject: RE: Axis2 1.4 not Thread safe (possible bug)

Hi,

One thing to point out is that the Xerces DOM parser/builder is not
thread-safe.  So any object that is backed by a Xerces-based Document is
not thread-safe.  I'm not sure though if this is common throughout
Axis2, or just to a specific data binding option used.

-Vinh


-----Original Message-----
From: Michele Mazzucco [mailto:[EMAIL PROTECTED]
Sent: Saturday, May 24, 2008 6:06 AM
To: axis-user@ws.apache.org
Subject: RE: Axis2 1.4 not Thread safe (possible bug)

Chuck, 

some components are thread safe, others are not (for example
ServiceClient). 
Can you please post some relevant code?

Thanks,
Michele

On Fri, 2008-05-23 at 16:23 -0400, Chuck Brinkman wrote:
> Michele,
> 
> In my opinion Axis2 is not thread safe.  We are seeing responses of
one type that have the body of another type.  For example say we have
serviceA that returns a serviceAresponse and serviceB that returns a
serviceBresponse.  We have captured the network packet and see things
like serviceAresponse that has the data from a serviceBresponse.  It
appears to be related to a flash client we have.  The flash client will
open a connection and can send a second request using the original
connection before it gets a response or a timeout from the first
request.  I'm still working on the issue but it is in some way good to
know that I'm not the only one thinking Axis2 has a thread safety
issue.
> 
> Chuck
> 
> 
> 
> 
> ----------------------------------------
> > From: [EMAIL PROTECTED]
> > Subject: Re: Axis2 1.4 not Thread safe (possible bug)
> > Date: Fri, 23 May 2008 17:56:54 +0100
> > To: axis-user@ws.apache.org
> > 
> > I can only see a NullPointerException.
> > 
> > Michele
> > 
> > 
> > On 23 May 2008, at 14:31, sultanat wrote:
> > 
> >>
> >> Please see one of the errors we got during multiple threaded
> >> processing:
> >> The requests sent were valid SOAP xmls sent via AXIS client.
> >>
> >> org.apache.axis2.AxisFault
> >>         at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430)
> >>         at
> >> com.atx.tokenserver.token.TokenServiceMessageReceiverInOut.fromOM
> >> (TokenServiceMessageReceiverInOut.java:149)
> >>         at
> >> com.atx.tokenserver.token.TokenServiceMessageReceiverInOut.invokeBu
> >> sin
> >> essLogic(TokenServiceMessageReceiverInOut.java:43)
> >>         at
> >> org.apache.axis2.receivers.AbstractInOutMessageReceiver.invokeBusin
> >> ess
> >> Logic(AbstractInOutMessageReceiver.java:40)
> >>         at
> >> org.apache.axis2.receivers.AbstractMessageReceiver.receive
> >> (AbstractMessageReceiver.java:100)
> >>         at org.apache.axis2.engine.AxisEngine.receive
> >> (AxisEngine.java:176)
> >>         at
> >> org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostR
> >> equ
> >> est(HTTPTransportUtils.java:275)
> >>         at
> >>
org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java: 
> >> 131)
> >>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:

> >> 709)
> >>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:

> >> 802)
> >>         at
> >> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
> >> (ApplicationFilterChain.java:237)
> >>         at
> >> org.apache.catalina.core.ApplicationFilterChain.doFilter
> >> (ApplicationFilterChain.java:157)
> >>         at
> >> org.apache.catalina.core.StandardWrapperValve.invoke
> >> (StandardWrapperValve.java:214)
> >>         at
> >> org.apache.catalina.core.StandardContextValve.invoke
> >> (StandardContextValve.java:178)
> >>         at
> >> org.apache.catalina.core.StandardHostValve.invoke
> >> (StandardHostValve.java:126)
> >>         at
> >> org.apache.catalina.valves.ErrorReportValve.invoke
> >> (ErrorReportValve.java:105)
> >>         at
> >> org.apache.catalina.core.StandardEngineValve.invoke
> >> (StandardEngineValve.java:107)
> >>         at
> >> org.apache.catalina.connector.CoyoteAdapter.service
> >> (CoyoteAdapter.java:148)
> >>         at
> >> org.apache.coyote.http11.Http11Processor.process
> >> (Http11Processor.java:825)
> >>         at
> >> org.apache.coyote.http11.Http11Protocol
> >> $Http11ConnectionHandler.processConnection(Http11Protocol.java:731)
> >>         at
> >> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket
> >> (PoolTcpEndpoint.java:526)
> >>         at
> >> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt
> >> (LeaderFollowerWorkerThread.java:80)
> >>         at
> >> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run
> >> (ThreadPool.java:684)
> >>         at java.lang.Thread.run(Thread.java:595)
> >> Caused by: java.lang.NullPointerException
> >>         at
> >> org.apache.axis2.databinding.utils.ConverterUtil.convertToString
> >> (ConverterUtil.java:337)
> >>         at
> >> com.atx.tokenserver.token.xsd.DealerCode_type1.setDealerCode_type0
> >> (DealerCode_type1.java:59)
> >>         at
> >> com.atx.tokenserver.token.xsd.DealerCode_type1$Factory.parse
> >> (DealerCode_type1.java:417)
> >>         at
> >> com.atx.tokenserver.token.xsd.NewTokenRequest$Factory.parse
> >> (NewTokenRequest.java:525)
> >>         at
> >> com.atx.tokenserver.token.TokenServiceMessageReceiverInOut.fromOM
> >> (TokenServiceMessageReceiverInOut.java:136)
> >>         ... 22 more
> >>
> >>
> >> Michele Mazzucco-2 wrote:
> >>>
> >>> Please post more information (stack trace, etc.)
> >>>
> >>>
> >>> Michele
> >>>
> >>>
> >>> On 22 May 2008, at 23:24, sultanat wrote:
> >>>
> >>>>
> >>>>
> >>>> People,
> >>>> I created a web service using Axis2 1.4 and was accessing it with

> >>>> multiple Threads. It appears that the SOAP xml during parsing was

> >>>> getting corrupt and throwing all kinds of exceptons like invalid 
> >>>> XML, expecting some other element etc...
> >>>>
> >>>> I tried the same test with same web service using Axis2 1.3 but I

> >>>> did not get any of the errors mentioned above.
> >>>> Is there anything which I am missing or is this a bug in Axis2
1.4 ?
> >>>> --
> >>>> View this message in context: 
> >>>> http://www.nabble.com/Axis2-1.4-not-
> >>>> Thread-safe-%28possible-bug%29-tp17414803p17414803.html
> >>>> Sent from the Axis - User mailing list archive at Nabble.com.
> >>>>
> >>>>
> >>>> -----------------------------------------------------------------
> >>>> ---
> >>>> -
> >>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
> >>>> For additional commands, e-mail: [EMAIL PROTECTED]
> >>>>
> >>>
> >>>
> >>> ------------------------------------------------------------------
> >>> --- To unsubscribe, e-mail: [EMAIL PROTECTED]
> >>> For additional commands, e-mail: [EMAIL PROTECTED]
> >>>
> >>>
> >>>
> >>
> >> --
> >> View this message in context: http://www.nabble.com/Axis2-1.4-not-
> >> Thread-safe-%28possible-bug%29-tp17414803p17425676.html
> >> Sent from the Axis - User mailing list archive at Nabble.com.
> >>
> >>
> >> -------------------------------------------------------------------
> >> -- To unsubscribe, e-mail: [EMAIL PROTECTED]
> >> For additional commands, e-mail: [EMAIL PROTECTED]
> >>
> > 
> > 
> > --------------------------------------------------------------------
> > - To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> > 
> 
> _________________________________________________________________
> Change the world with e-mail. Join the i'm Initiative from Microsoft.
> http://im.live.com/Messenger/IM/Join/Default.aspx?source=EML_WL_Change
> World
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to