I have retrieving my Object instances from a class with a method called getProxy. That method adds InvocationHandlers to extract out logic like tracing logic. Inside my TracingInvocationHandler, I print a statement before a method is executed and one after. I am able to run this fine through some functionality, but other methods cause an OutOfMemoryError. Those methods may create massive size lists within them...would this cause a problem? Is the Proxy to slow in performance to use it to do this?
Thanks for your help,
Ajay A Patil
posted 10 years ago
The massive size lists created by your methods must certainly consuming memory, but the Proxy code does not seem to be related to them.
You can try - Commenting out the logging statements and check how it works. - Commenting out your DateTime class.
Another suggestion is to implement a static method DateTime.getCurrentTime() so you dont create two new DateTime instances for each method invocation.
Finally, are you caching your java.lang.reflect.Method instances ? i.e how do you pass the Method object to the proxy class's invoke method.