[ 
https://issues.apache.org/jira/browse/AXIS2-3400?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Amila Chinthaka Suriarachchi resolved AXIS2-3400.
-------------------------------------------------

    Resolution: Fixed

fixed the issue. added a static counter to generate unique service names

> AxisService name not unique enough
> ----------------------------------
>
>                 Key: AXIS2-3400
>                 URL: https://issues.apache.org/jira/browse/AXIS2-3400
>             Project: Axis 2.0 (Axis2)
>          Issue Type: Bug
>          Components: kernel
>    Affects Versions: 1.3
>            Reporter: David Poon
>            Priority: Blocker
>
> The generated (client) stub implementation's populateAxisService() method 
> creates the AxisService name using Object.hashCode() as a means to "ensure" 
> uniqueness, for example:
> //creating the Service with a unique name
> _service = new org.apache.axis2.description.AxisService("IsisLocation" + 
> this.hashCode());
> In our performance and stress test runs, we find that from time to time, 
> "duplicate name found" errors would occur. We reuse the same configuration 
> context instance over multiple client service invocations. The javadoc of 
> java.lang.Object.hashCode() states that:
> "... It is not required that if two objects are unequal according to the 
> java.lang.Object.equals(java.lang.Object) method, then calling the hashCode 
> method on each of the two objects must produce distinct integer results. ... 
> As much as is reasonably practical, the hashCode method defined by class 
> Object does return distinct integers for distinct objects. (This is typically 
> implemented by converting the internal address of the object into an integer, 
> but this implementation technique is not required by the JavaTM programming 
> language.)"
> In essence uniqueness is not guaranteed.
> Even though the Stub's finalize() method calls its own cleanup() method 
> (which would remove the AxisService name), it is still possible for a 
> duplicate name being generated whilst the other Stub is still in use (by 
> another thread).
> Perhaps in addition to using hashCode(), a static incrementing counter could 
> be appended to the generated name as well?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to