Can you please attach the patch. If I copy/paste from this email it chokes.
Thanks,
Jeff
Andrus Adamchik wrote:
> Somebody please apply this patch. It implements better exception
> handling during persistence unit loading.
>
> Thanks
> Andrus
>
>
> Index: geronimo-spec-jpa/src/main/java/javax/persistence/Persistence.java
> ===================================================================
> ---
> geronimo-spec-jpa/src/main/java/javax/persistence/Persistence.java
> (revision 398209)
> +++
> geronimo-spec-jpa/src/main/java/javax/persistence/Persistence.java
> (working copy)
> @@ -144,18 +144,29 @@
> static EntityManagerFactory createFactory(
> String providerName,
> String persistenceUnitName,
> - Map properties) {
> + Map properties)
> + throws PersistenceException {
> - try {
> - Class providerClass = Class.forName(providerName, true, Thread
> - .currentThread()
> - .getContextClassLoader());
> - PersistenceProvider provider = (PersistenceProvider)
> providerClass
> - .newInstance();
> - return
> provider.createEntityManagerFactory(persistenceUnitName, properties);
> - }
> - catch (Exception e) {
> - return null;
> - }
> - }
> + Class providerClass;
> + try {
> + providerClass = Class.forName(providerName, true, Thread
> + .currentThread().getContextClassLoader());
> + }
> + catch (Exception e) {
> + throw new PersistenceException(
> + "Invalid or inaccessible provider class: " +
> providerName,
> + e);
> + }
> +
> + try {
> + PersistenceProvider provider = (PersistenceProvider)
> providerClass
> + .newInstance();
> + return
> provider.createEntityManagerFactory(persistenceUnitName,
> + properties);
> + }
> + catch (Exception e) {
> + throw new PersistenceException("Provider error. Provider: "
> + + providerName, e);
> + }
> + }
> }