[
http://jira.codehaus.org/browse/XFIRE-886?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_88563
]
Holger Hoffstätte commented on XFIRE-886:
-----------------------------------------
Tomasz, can you please comment on whether the patch actually does fix the
problem with correlation when several clients are used? There is still the
possibility that the bug might have been caused by Mule which used client
pooling. Will correlation generally work when multiple client objects are
talking to the same endpoint from different threads? If that is not the case we
could also try to use the same client for every endpoint.
> 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: Tomasz Sztelak
> Fix For: 1.2.5
>
> Attachments: Client.java.patch, LocalClientTest.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