DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG� RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT <http://issues.apache.org/bugzilla/show_bug.cgi?id=33934>. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND� INSERTED IN THE BUG DATABASE.
http://issues.apache.org/bugzilla/show_bug.cgi?id=33934 ------- Additional Comments From [EMAIL PROTECTED] 2005-03-22 09:25 ------- Let me summarize the bug once more: The field "target" of the EL version of the c:set tag contains a reference to the bean whose property shall be modified, lets call that e.g. "hugeBean". After doEndTag() was called the application server puts the c:set tag instance into a tag pool for recycling. The field "target" still holds the reference to "hugeBean", so it can not be garbage collected. This is not necessary, because "target" is assigned a new value on every usage of the c:set tag instance in doStartTag(). doStartTag() evaluates the EL string (e.g. "${hugeBean}") and assigns the result to the field "target". Whenever the c:set tag is used - for the first time or recycled from the pool - the method doStartTag() is called. doStartTag() evaluates the EL expression and assigns the result to the field "target". So there is no need to retain the result of that evaluation in the field "target" after doEndTag() was processed, because on the next usage it will overwritten anyway. Its sufficient to retain the EL string "${hugeBean}" but retaining the result of its evaluation causes the memory leak. -- Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
