|
|
|
[
Permlink
| « Hide
]
Philip Luppens - [02/Jan/07 07:00 AM ]
Attached an updated version with the invokeMethod method synchronized. Please review.
This will solve the problem and I will be testing this.
However, if we wanted to limit impact of synchronization (I'm not real concerned about this, but other might be) we could use the method as the item to synchronize. This would allow different methods to be invoked simultaneously, but methods that are the same would be synchronized. So, instead of: public static synchronized Object invokeMethod(Object target, Method method, Object argsArray[]) { ... } if could be: public static Object invokeMethod(Object target, Method method, Object argsArray[]) { synchronized (method) { ... } } A minor change, but it might increase throughput for some people. (In general, I'm not concerned about the synchronization hit at all so it doesn't matter to me.) Other than that, your change is exactly what I test so it should be good. I'll let you know if we run into any issues in our load testing environment. Thanks Tom. Please post your findings in the forum as well, otherwise they might slip through.
I am very happy to report that our latest load test results are clean of freemarker errors. So it looks like this issue is solved. Thanks for created the patched jar--you saved me quite a bit of time by not having to patch and build ognl.
I've mailed Drew from OGNL a couple of minutes ago.
Toby; I guess we can close this. Tom said it fixed his problem. I'll upload a new version if I have to to limit the synchronization, but I think for now we can close this.
| ||||||||||||||||||||||||||||||||||||||||||||||