Are Axis2 generated stubs thread-safe?

前端 未结 3 892
鱼传尺愫
鱼传尺愫 2020-12-14 09:14

Are client stubs generated from WSDL by Axis2 thread-safe?

Of course, \"thread-safe\" isn\'t necessary a rigorously defined term, so I\'m at least interested in the

相关标签:
3条回答
  • 2020-12-14 09:29

    I guess I'll try to answer my own question by providing some update on futher research I did. It appears that by default older versions of Axis2 stubs may have been only "thread-compatible" (cannot make calls on the same stub instance concurrently from multiple threads - but calls to different instances is OK).

    See for example:

    http://markmail.org/message/3lu7x7pfo47vgnck http://markmail.org/message/sljyf6lpecxqllgx

    You may experience some socket leaks, and run out of sockets if you don't call cleanup/cleanupTransport, as per this thread and many related ones:

    http://issues.apache.org/jira/browse/AXIS2-3670

    In some cases, at least the underlying HttpClient now seems to be thread-safe, but depending on how you generated your client, the entire stub might not be:

    http://amilachinthaka.blogspot.com/2009/05/improving-axis2-client-http-transport.html

    0 讨论(0)
  • 2020-12-14 09:36

    I'm not sure about axis2, but at least axis1 generates non-threadsafe client stubs. I got the impression pretty much every other SOAP client was non-threadsafe as well. If I remember correctly the issue was with the XML parsing library being used in a non-threadsafe way by the client stub.

    Using apache commons-pooling to pool the instances and using each one from one thread at a time worked well though.

    Update: For Axis2, see https://issues.apache.org/jira/browse/AXIS2-4357 (claims Axis2 is not threadsafe, by design)

    0 讨论(0)
  • 2020-12-14 09:49

    These stubs are stateless allowing reuse of the stub instances. Can you please elaborate on the problem you are facing with Axis2. People usually recommend Xfire over Axis.

    0 讨论(0)
提交回复
热议问题