[esb-issues] [JBoss JIRA] Commented: (JBESB-2301) Handle wise threading/pooling

Daniel Bevenius (JIRA) jira-events at lists.jboss.org
Fri Jan 23 07:20:44 EST 2009


    [ https://jira.jboss.org/jira/browse/JBESB-2301?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12449428#action_12449428 ] 

Daniel Bevenius commented on JBESB-2301:
----------------------------------------

I had a look at this and I think it might be better if Stefano took care of it.

> Handle wise threading/pooling
> -----------------------------
>
>                 Key: JBESB-2301
>                 URL: https://jira.jboss.org/jira/browse/JBESB-2301
>             Project: JBoss ESB
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: Web Services
>    Affects Versions: 4.4 CP1
>            Reporter: Kevin Conner
>            Assignee: Daniel Bevenius
>             Fix For: 4.4 CP2
>
>
> The current wise codebase (in ESB4.4 and SOA 4.3) is not thread safe and needs some changes made.  There are also issues with classloading and clearing of clients.
> The current WSDynamicClientFactory singleton contains a Map which references the WSDynamicClient instances using a name.  This map is current implemented as a HashMap but is accessed concurrently.
> In addition, the name used as the key is specified within the configuration so there is a possibility of clashes with other deployments, especially as this is used to create temporary files on the filesystem.
> Instantiation
> -------------
> The factory checks this map to see whether a specified client exists and, if not present, creates one but it does this without synchronizing and can lead to multiple threads clashing during the construction of the same client.  In addition the context classloader of the first deployment to create the client will be used to create the classes and this can leak into other deployments.
> Invocation
> ----------
> The invocation of the service is handled through the jax-ws Port api and this is not thread-safe.  The wise codebase shares the same client instance with multiple threads and, therefore, can suffer from concurrency problems.
> Cleanup
> -------
> The clearCache method on the factory singleton removes *all* clients from the map and is not thread-safe.

-- 
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 esb-issues mailing list