[jbossws-issues] [JBoss JIRA] Commented: (JBWS-2324) jbossws client Port isn't thread safe

Alessio Soldano (JIRA) jira-events at lists.jboss.org
Tue Jan 12 15:23:36 EST 2010


    [ https://jira.jboss.org/jira/browse/JBWS-2324?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12503734#action_12503734 ] 

Alessio Soldano commented on JBWS-2324:
---------------------------------------

The jaxws spec is vague wrt this issue and many discussions happened in the past on the RI forum, on CXF forum, on ours ... Most jaxws implementations explicitly state their port is not thread safe and even the Sun RI is not always thread safe (touching the request context through the BindingProvider interface removes it's thread safety).

This said, starting from JBossWS 3.2.0, JBWS-2681 has been fixed and that basically makes the Service thread safe.
Multiple thread can thus call service.getPort() concurrently and get the port instance to be used.
Considering just the first invocation of getPort() for a given port is actually heavy (following ones return almost immediately as the metadata is already built), this basically prevent this issue from being a critical one for the sake of performances.


>  jbossws client Port isn't thread safe
> --------------------------------------
>
>                 Key: JBWS-2324
>                 URL: https://jira.jboss.org/jira/browse/JBWS-2324
>             Project: JBoss Web Services
>          Issue Type: Feature Request
>      Security Level: Public(Everyone can see) 
>          Components: jbossws-native
>    Affects Versions:  jbossws-native-3.0.3
>            Reporter: Stefano Maestri
>            Assignee: Alessio Soldano
>             Fix For: community contributions
>
>
> While Service is 3ad safe, Port isn't. I'm referring to client part.
> It's a problem to achieve better performance in a concurrent environments like Wise/ESB.
> While it's still possible to invoke Service.getPort() for each call it still not achieve good performance since getPort isn't so fast doing a lot of things under the hood.
> AFAIK referential implementation have Port 3ad safe and not Service, that would be good for our purpose, since Service.getPort would be good to be invoked in a 3adLocal manner and then Ports cached and reused.

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

        


More information about the jbossws-issues mailing list