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(); return this.sessionFactoryFuture.get();
} }
catch (InterruptedException ex) { 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) { 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 // application-managed EntityManager proxy that automatically joins
// existing transactions. // existing transactions.
this.entityManagerFactory = createEntityManagerFactoryProxy(this.nativeEntityManagerFactory); this.entityManagerFactory = createEntityManagerFactoryProxy(this.nativeEntityManagerFactory);
System.out.println("Returning: " + System.currentTimeMillis());
} }
private EntityManagerFactory buildNativeEntityManagerFactory() { private EntityManagerFactory buildNativeEntityManagerFactory() {
@ -381,7 +380,6 @@ public abstract class AbstractEntityManagerFactoryBean implements
if (logger.isInfoEnabled()) { if (logger.isInfoEnabled()) {
logger.info("Initialized JPA EntityManagerFactory for persistence unit '" + getPersistenceUnitName() + "'"); logger.info("Initialized JPA EntityManagerFactory for persistence unit '" + getPersistenceUnitName() + "'");
} }
System.out.println("Done: " + System.currentTimeMillis());
return emf; return emf;
} }
@ -481,15 +479,16 @@ public abstract class AbstractEntityManagerFactoryBean implements
return this.nativeEntityManagerFactory; return this.nativeEntityManagerFactory;
} }
else { else {
System.out.println("Requested: " + System.currentTimeMillis());
try { try {
return this.nativeEntityManagerFactoryFuture.get(); return this.nativeEntityManagerFactoryFuture.get();
} }
catch (InterruptedException ex) { 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) { 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());
} }
} }
} }