-Dpd4ml.cache.images.in.tmp.dir=true JVM flag (or an identical dynamic parameter, passed via API) forces PD4ML to immediately dump loaded image bytes to a TMP file and to set the above img = null. Now I am not sure if that is enough, bearing in mind the media tracker. Do you have an idea what needs to be done there?
I’m not sure what needs to be done. Setting that property at the JVM level does not seem to impact the permgen leak. Also, using the API directly and calling clearCache() does not seem to help.
An interesting observation on Glassfish is that the images (resources/icons, resources/dialogs) seem to be unpacked. Does the code traverse the classpath using ResourceAsStream and cache the PD4ML – supplied images before loading user – supplied images? I’ll take a look with VisualVM and see if these images are registered in MediaTracker.
Being a systems architect and not a full time Java developer, I hope I’m not wandering too far off in the weeds.
Thanks for the reply.