I just tested this and I don't see the behaviour you describe in the current CVS. Can you try webwork 1.4 and see if you still have the leak?
On Feb 5, 2004, at 11:05 AM, Vedovato Paolo wrote:
Ok, I Found some more on this issue.
This Query problems occur only when the <ww:table> tag is used.
As far as i see in my Profiling Tool the WebTable component tries to do something 'illegal' in the doEndTag.
It always tries to find something in this form
[EMAIL PROTECTED]
and of course this reference changes on each request putting it in the Query Hashtable and so this grows with each request.
Any clues about this phenomena?
Cheers -Paolo
-----Original Message----- From: Vedovato Paolo Sent: Thursday, February 05, 2004 9:53 AM To: '[EMAIL PROTECTED]' Subject: RE: [OS-webwork] WW1.3 Memory Consumption
Hi Dick
for my replies see inline.
You are right that the Query class contains a cache of allexpressions(instances of Query). It is a static HashMap in WW1.3 so it is never GC'd as you know. I can see a couple of cases that would make it grow:
1. Parameters that are sent in requests are set on actions with the help of the Query class. If you always have new parameter names, then they will generate new Query objects that will fill up the cache. So for example the parameters: myaction.action?paramOne=2&otherParam/subProperty=4 this would create 2 new Query instances (and 3 QuerySegments I believe). Do you have some parameters that have dynamic names?Do you mean the first request calls 'paramOne=2', after that the same request calls 'paramTwo=2'? No, we don't have dynamic names parameters...
and whatever2. Some usages of the expand functionality of the expression language (when you use braces { } ) can give many Query objects. For example if you write: <ww:property value="{myProp}"/> then myProp is looked up,String myProp contains is then looked up. This means that if myProp contains different String values all the time then alot of Query instances will be created.The only constructs I find in our application which could match are the following:
- the templates checkbox.jsp, password.jsp, text.jsp etc. - <ww:text name="'{0,date,EEEE, dd.MM.yyyy, HH:mm}'" value0="@today"/> - <ww:text name="'{0,number,#,##0.00}'" value0="@dep/balance/amount"/>
Do you see problems with it?
You can also try changing the Map to be a WeakHashMap and then the Query instances could be GC'd. But of course it would be better to find the real cause of the problem first.That would be a possibility but as you said we should try to find the real cause.
Anyway I would like to thank you for the help!
Cheers -Paolo
------------------------------------------------------- The SF.Net email is sponsored by EclipseCon 2004 Premiere Conference on Open Tools Development and Integration See the breadth of Eclipse activity. February 3-5 in Anaheim, CA. http://www.eclipsecon.org/osdn _______________________________________________ Opensymphony-webwork mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork
------------------------------------------------------- The SF.Net email is sponsored by EclipseCon 2004 Premiere Conference on Open Tools Development and Integration See the breadth of Eclipse activity. February 3-5 in Anaheim, CA. http://www.eclipsecon.org/osdn _______________________________________________ Opensymphony-webwork mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork
------------------------------------------------------- The SF.Net email is sponsored by EclipseCon 2004 Premiere Conference on Open Tools Development and Integration See the breadth of Eclipse activity. February 3-5 in Anaheim, CA. http://www.eclipsecon.org/osdn _______________________________________________ Opensymphony-webwork mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork