Refined Future exception handling

Issue: SPR-13732
This commit is contained in:
Juergen Hoeller 2015-12-21 15:09:09 +01:00
parent d59b0d12d4
commit 09cea6e6bb
2 changed files with 8 additions and 7 deletions

View File

@ -340,10 +340,12 @@ public class LocalSessionFactoryBuilder extends Configuration {
return this.sessionFactoryFuture.get();
}
catch (InterruptedException ex) {
throw new IllegalStateException("Interrupted during initialization of Hibernate SessionFactory", ex);
throw new IllegalStateException("Interrupted during initialization of Hibernate SessionFactory: " +
ex.getMessage());
}
catch (ExecutionException ex) {
throw new IllegalStateException("Failed to asynchronously initialize Hibernate SessionFactory", ex);
throw new IllegalStateException("Failed to asynchronously initialize Hibernate SessionFactory: " +
ex.getMessage(), ex.getCause());
}
}
}

View File

@ -366,7 +366,6 @@ public abstract class AbstractEntityManagerFactoryBean implements
// application-managed EntityManager proxy that automatically joins
// existing transactions.
this.entityManagerFactory = createEntityManagerFactoryProxy(this.nativeEntityManagerFactory);
System.out.println("Returning: " + System.currentTimeMillis());
}
private EntityManagerFactory buildNativeEntityManagerFactory() {
@ -381,7 +380,6 @@ public abstract class AbstractEntityManagerFactoryBean implements
if (logger.isInfoEnabled()) {
logger.info("Initialized JPA EntityManagerFactory for persistence unit '" + getPersistenceUnitName() + "'");
}
System.out.println("Done: " + System.currentTimeMillis());
return emf;
}
@ -481,15 +479,16 @@ public abstract class AbstractEntityManagerFactoryBean implements
return this.nativeEntityManagerFactory;
}
else {
System.out.println("Requested: " + System.currentTimeMillis());
try {
return this.nativeEntityManagerFactoryFuture.get();
}
catch (InterruptedException ex) {
throw new IllegalStateException("Interrupted during initialization of native EntityManagerFactory", ex);
throw new IllegalStateException("Interrupted during initialization of native EntityManagerFactory: " +
ex.getMessage());
}
catch (ExecutionException ex) {
throw new IllegalStateException("Failed to asynchronously initialize native EntityManagerFactory", ex);
throw new IllegalStateException("Failed to asynchronously initialize native EntityManagerFactory: " +
ex.getMessage(), ex.getCause());
}
}
}