XFire Client not ThreadSafe
---------------------------

                 Key: XFIRE-886
                 URL: http://jira.codehaus.org/browse/XFIRE-886
             Project: XFire
          Issue Type: Bug
          Components: Core
    Affects Versions: 1.2.4
         Environment: Linux 2.6, Java 1.4.2 / Java 1.5

            Reporter: Tony Bussieres
         Assigned To: Dan Diephouse
         Attachments: Client.java.patch

I use XFire as a client. witin Mule,

The XFire Client are in a Pool  (common pool) and
many threads are using thoses clients to call a service.

Sometimes (about 14 times / 60) with 2 threads this happens :

DEBUG 2007-02-22 12:57:16,520 [Test-1] org.codehaus.xfire.client.Client:
Received message to http://serveur:3003/scoperta/scopertaTest
DEBUG 2007-02-22 12:57:16,520 [Test-1]
org.codehaus.xfire.handler.HandlerPipeline: adding handler
[EMAIL PROTECTED] to phase pre-dispatch
DEBUG 2007-02-22 12:57:16,520 [Test-1]
org.codehaus.xfire.handler.HandlerPipeline: adding handler
[EMAIL PROTECTED] to phase parse
DEBUG 2007-02-22 12:57:16,520 [Test-1]
org.codehaus.xfire.handler.HandlerPipeline: adding handler
[EMAIL PROTECTED] to phase
pre-invoke
DEBUG 2007-02-22 12:57:16,521 [Test-1]
org.codehaus.xfire.handler.HandlerPipeline: adding handler
[EMAIL PROTECTED] to phase dispatch
DEBUG 2007-02-22 12:57:16,521 [Test-1]
org.codehaus.xfire.handler.HandlerPipeline: adding handler
[EMAIL PROTECTED] to phase dispatch
DEBUG 2007-02-22 12:57:16,521 [Test-1]
org.codehaus.xfire.handler.HandlerPipeline: adding handler
[EMAIL PROTECTED] to phase dispatch
DEBUG 2007-02-22 12:57:16,521 [Test-1]
org.codehaus.xfire.handler.HandlerPipeline: Invoking phase transport
DEBUG 2007-02-22 12:57:16,521 [Test-1]
org.codehaus.xfire.handler.HandlerPipeline: Invoking phase parse
DEBUG 2007-02-22 12:57:16,521 [Test-1]
org.codehaus.xfire.handler.HandlerPipeline: Invoking handler
org.codehaus.xfire.soap.handler.ReadHeadersHandler in phase parse
DEBUG 2007-02-22 12:57:16,521 [Test-1]

org.codehaus.xfire.handler.HandlerPipeline: Invoking phase pre-dispatch
DEBUG 2007-02-22 12:57:16,521 [Test-1]
org.codehaus.xfire.handler.HandlerPipeline: Invoking handler
org.codehaus.xfire.client.CorrelatorHandler in phase pre-dispatch
DEBUG 2007-02-22 12:57:16,521 [Test-1] org.codehaus.xfire.client.Client:
Correlating context with ID 1172167036476261041791506
INFO  2007-02-22 12:57:16,521 [Test-1] org.codehaus.xfire.client.Client:
No correlated invocation was found.

Cause:

When a client is triggered : Client.onReceive(MessageContext)

It creates a pipeline,
put the handlers in the pipeline then invoke the pipeline *using
MessageContext*

HOWEVER sometimes the client triggered != the client in the context.
so the handlers added to the pipeline are not related to the good client.


Fix:
See patch in attachment

The fix does :
Get the handlers for the client in the MessageContext.
Add them to the pipeline. (not the ones from "this")


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe from this list please visit:

    http://xircles.codehaus.org/manage_email

Reply via email to