Hey Rick! Let me try to answer the question you posed previously in response to Albert's comments. If you look at PersistenceProviderImpl.createContainerEntityManagerFactory you can see we have this code:
pui.addTransformer(new ClassTransformerImpl(cp, ctOpts,
catch (Exception e)
// fail gracefully
transformerException = e;
Within the 'addTransformer' call, we are doing a bunch of stuff which includes instantiating a 'ClassTransformerImpl' (CTI). You'll have to take a leap of faith a bit and trust me when I say that as part of instantiating the CTI, a call is eventually made to 'DBDictionaryFactory.newDBDictionary'. Within 'newDBDictionary', a connection to the DB is made. If an exception is thrown when making the connection (e.g. DB is down), the exception flows all the way back to the try/catch in the above code block. That means we never add a transformer......so later at runtime we'd see the ArgumentException given the lack of transformer/enhancement registration. Furthermore, as you can see in the catch block we attempt to "fail gracefully" which means to me in what I see in my env that there isn't much indication of the fact that we didn't register a transformer. So the patch you added previously doesn't work in this case because it does nothing to handle the case where we go down the 'createContainerEntityManagerFactory' path. I'm working on a patch which will "eat" any connection errors at the point 'DBDictionaryFactory.newDBDictionary' is called (i.e. JDBCConfiguratoinImple.getDBDictionaryInstance)....the code will be gated by a system property of course.
IMHO, it seems OpenJPA needs to take a long hard look at these DB up/down scenarios. In what little testing has been down via this JIRA, we've unearthed a few areas needing to be changed. What other issues could be lurking as further testing is done? That is, could we be opening a can of worms by fixing this limited scenario given OpenJPA doens't appear to do much/any testing in this area (one could think of a million DB up/down scenarios and timing windows)? Anyway, I'm always the pessimist.......