After chasing down a PERMGEN error deploying/running a site on oc4j for a while I did the smarter thing and did something else for a while. Of course it doesn’t help that the top N google hits for “PERMGEN” aren’t even from Oracle/Java. So, you get all sorts if interesting advice for changes to Java memory management.
Then it occurred to be: the site was working fine before a recent set of changes, maybe something got broken?
Even better, it had to be some kind of configuration setting that was wrong, incorrect, bad. Any pure coding/linking error would have been more specific. I was betting config errors were buried in the oc4j logging somewhere and only the resultant “PERMGEN” showed up.
Turns out a couple of items were off in the config XMLs for the project: missing setters for injections, not including a new hibernate mapping file in the list of mappings. (I think that was the killer).
Took under 10 minutes to fix these things and everything started working again.
I really don’t like oc4j.