Catch more general Hibernate 4.2 LinkageError

Update HibernateJpaAutoConfiguration to catch LinkageError rather than
NoClassDefFoundError. Required due to the fact that JBoss EAP 6 wraps
NoClassDefFoundErrors.

Fixes gh-3605
This commit is contained in:
Pei-Tang Huang 2015-07-27 17:29:45 +08:00 committed by Phillip Webb
parent b7e9f805c9
commit a5430d8a0c

View File

@ -147,8 +147,9 @@ public class HibernateJpaAutoConfiguration extends JpaBaseConfiguration {
vendorProperties.put(JTA_PLATFORM, new SpringJtaPlatform( vendorProperties.put(JTA_PLATFORM, new SpringJtaPlatform(
jtaTransactionManager)); jtaTransactionManager));
} }
catch (NoClassDefFoundError ex) { catch (LinkageError ex) {
// Can happen if Hibernate 4.2 is used // NoClassDefFoundError can happen if Hibernate 4.2 is used and some
// containers (e.g. JBoss EAP 6) wraps it in the superclass LinkageError
if (!isUsingJndi()) { if (!isUsingJndi()) {
throw new IllegalStateException("Unable to set Hibernate JTA " throw new IllegalStateException("Unable to set Hibernate JTA "
+ "platform, are you using the correct " + "platform, are you using the correct "