You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "Raymond Naseef (JIRA)" <ax...@ws.apache.org> on 2011/04/29 19:55:03 UTC

[jira] [Commented] (AXIS-2850) org.apache.axis.client.Service method createCall() may return same Call to simultaneous calls.

    [ https://issues.apache.org/jira/browse/AXIS-2850?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13027103#comment-13027103 ] 

Raymond Naseef commented on AXIS-2850:
--------------------------------------

Let's take a look at this code, and decide if this is correct or has a bug.

    public javax.xml.rpc.Call createCall() throws ServiceException {
        _call = new org.apache.axis.client.Call(this);
        return _call;
    }


Here is a method that is not thread safe.  If called from multiple threads, and any of these thread yield in the middle of this method, the instance created here may never be used.

This is a clear bug.  Please let me know when this will be fixed, or a supported Axis framework to use.


> org.apache.axis.client.Service method createCall() may return same Call to simultaneous calls.
> ----------------------------------------------------------------------------------------------
>
>                 Key: AXIS-2850
>                 URL: https://issues.apache.org/jira/browse/AXIS-2850
>             Project: Axis
>          Issue Type: Bug
>          Components: Basic Architecture
>    Affects Versions: 1.4
>         Environment: Any code running on any OS/network/etc. where multiple calls to single Service method createCall() are may occur in different threads.
>            Reporter: Raymond Naseef
>            Priority: Minor
>   Original Estimate: 10m
>  Remaining Estimate: 10m
>
> Easy 5-minute fix: change createCall() to return the call instance it created, not field (instance variable) "_call".  New Call is created in the method, then set to field, and then field is returned.
> This causes silent error, and that shows up when the callers to this method try to run the same call for their needs.
> Please consider changing this, as it looks there is zero cost to that change, and the problems it causes will be solved.
> I have found I can create Call() by hand, passing by this issue; that is not reason to say "no" to this request.
> If there is more to this, please let me know.
> Thank you,
> Raymond Naseef

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org