[ http://issues.apache.org/jira/browse/AXIS-1754?page=comments#action_61487 ] Steven Schwell commented on AXIS-1754: --------------------------------------
ok, so if previousCall is to be defined as the last Call created by the Service then it should be an instance variable, not a static ThreadLocal. Alternatively we can deprecate the ill-defined getCall() method and remove previousCall altogether. In general the use of ThreadLocal in Axis should be reviewed because it causes memory leaks when used in a Thread pooled server environment. > Service ThreadLocal previousCall should not be static > ----------------------------------------------------- > > Key: AXIS-1754 > URL: http://issues.apache.org/jira/browse/AXIS-1754 > Project: Axis > Type: Bug > Components: Basic Architecture > Versions: 1.2RC2 > Environment: Axis 1.2RC2 on Linux > Reporter: Tim Kagle > > Regarding the Service and the use of the "static ThreadLocal previousCall" > in the Service class, I think there is a problem with it. > For example the following (pseudo) code running in the *same* Thread will > not do what's expected: > URL url = new URL("http://...."); > Service s1 = new Service(url); // Service should be some FooService > // subclass but for simplicity let's call > // it Service > s1.setMaintainSesison(true); > Service s2 = new Service(url); // Same URL, same service, server, etc. > s2.setMaintainSession(true); > Stub stub1 = s1.getStub(); > Stub stub2 = s2.getStub(); > stub1.makeSomeCall(...); > stub2.makeSomeCall(...); > Call c = s1.getCall(); > This last statement will return the last Call made in this Thread, namely > the call made on s2 rather than s1. I would expect it to return the last > call made on s1 because that's what I called it on. > This happens because the ThreadLocal previousCall is declared static in > the Service. > Is there a reason why the ThreadLocal cannot be a member variable of the > Service intance rather than static? Could this be fixed? -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - If you want more information on JIRA, or have a bug to report see: http://www.atlassian.com/software/jira
