diff --git a/build.gradle b/build.gradle index 2968d9e05f..6c4764a72b 100644 --- a/build.gradle +++ b/build.gradle @@ -37,31 +37,31 @@ configure(allprojects) { project -> ext.gsonVersion = "2.3.1" ext.hibernate3Version = "3.6.10.Final" ext.hibernate4Version = "4.3.10.Final" - ext.hibernate5Version = "5.0.0.Beta2" // to be upgraded to 5.0 final in time for Spring Framework 4.2 GA + ext.hibernate5Version = "5.0.0.CR1" // to be upgraded to 5.0 final in time for Spring Framework 4.2 GA ext.hibval4Version = "4.3.2.Final" - ext.hibval5Version = "5.2.0.Beta1" // to be upgraded to 5.2 final in time for Spring Framework 4.2 GA + ext.hibval5Version = "5.2.0.CR1" // to be upgraded to 5.2 final in time for Spring Framework 4.2 GA ext.hsqldbVersion = "2.3.2" ext.httpclientVersion = "4.4" ext.httpasyncVersion = "4.0.2" ext.jackson2Version = "2.6.0-rc1" // to be upgraded to 2.6 final in time for Spring Framework 4.2 GA ext.jasperreportsVersion = "6.1.0" ext.javamailVersion = "1.5.3" - ext.jettyVersion = "9.2.10.v20150310" + ext.jettyVersion = "9.2.11.v20150529" ext.jodaVersion = "2.7" - ext.jrubyVersion = "1.7.19" + ext.jrubyVersion = "1.7.20" ext.jtaVersion = "1.2" ext.junitVersion = "4.12" ext.nettyVersion = "4.0.28.Final" ext.openjpaVersion = "2.4.0" ext.protobufVersion = "2.6.1" - ext.reactorVersion = "2.0.2.RELEASE" + ext.reactorVersion = "2.0.3.RELEASE" ext.slf4jVersion = "1.7.12" ext.snakeyamlVersion = "1.15" ext.snifferVersion = "1.14" ext.testngVersion = "6.9.4" ext.tiles2Version = "2.2.2" ext.tiles3Version = "3.0.5" - ext.tomcatVersion = "8.0.22" + ext.tomcatVersion = "8.0.23" ext.tyrusVersion = "1.3.5" // constrained by WebLogic 12.1.3 support ext.undertowVersion = "1.2.6.Final" ext.woodstoxVersion = "4.4.1" diff --git a/spring-context/src/main/java/org/springframework/scripting/jruby/JRubyScriptUtils.java b/spring-context/src/main/java/org/springframework/scripting/jruby/JRubyScriptUtils.java index a0115803c3..91e9f109c2 100644 --- a/spring-context/src/main/java/org/springframework/scripting/jruby/JRubyScriptUtils.java +++ b/spring-context/src/main/java/org/springframework/scripting/jruby/JRubyScriptUtils.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2014 the original author or authors. + * Copyright 2002-2015 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -95,6 +95,7 @@ public abstract class JRubyScriptUtils { /** * Initializes an instance of the {@link org.jruby.Ruby} runtime. */ + @SuppressWarnings("unchecked") private static Ruby initializeRuntime() { return JavaEmbedUtils.initialize(Collections.EMPTY_LIST); } diff --git a/spring-orm-hibernate5/src/main/java/org/springframework/orm/hibernate5/HibernateTemplate.java b/spring-orm-hibernate5/src/main/java/org/springframework/orm/hibernate5/HibernateTemplate.java index 63c4f18917..055b86af1b 100644 --- a/spring-orm-hibernate5/src/main/java/org/springframework/orm/hibernate5/HibernateTemplate.java +++ b/spring-orm-hibernate5/src/main/java/org/springframework/orm/hibernate5/HibernateTemplate.java @@ -420,10 +420,10 @@ public class HibernateTemplate implements HibernateOperations, InitializingBean @SuppressWarnings("unchecked") public T doInHibernate(Session session) throws HibernateException { if (lockMode != null) { - return (T) session.get(entityClass, id, new LockOptions(lockMode)); + return session.get(entityClass, id, new LockOptions(lockMode)); } else { - return (T) session.get(entityClass, id); + return session.get(entityClass, id); } } }); @@ -465,10 +465,10 @@ public class HibernateTemplate implements HibernateOperations, InitializingBean @SuppressWarnings("unchecked") public T doInHibernate(Session session) throws HibernateException { if (lockMode != null) { - return (T) session.load(entityClass, id, new LockOptions(lockMode)); + return session.load(entityClass, id, new LockOptions(lockMode)); } else { - return (T) session.load(entityClass, id); + return session.load(entityClass, id); } } }); diff --git a/spring-orm-hibernate5/src/main/java/org/springframework/orm/hibernate5/SessionFactoryUtils.java b/spring-orm-hibernate5/src/main/java/org/springframework/orm/hibernate5/SessionFactoryUtils.java index b852371dbc..715883ea97 100644 --- a/spring-orm-hibernate5/src/main/java/org/springframework/orm/hibernate5/SessionFactoryUtils.java +++ b/spring-orm-hibernate5/src/main/java/org/springframework/orm/hibernate5/SessionFactoryUtils.java @@ -39,13 +39,14 @@ import org.hibernate.UnresolvableObjectException; import org.hibernate.WrongClassException; import org.hibernate.dialect.lock.OptimisticEntityLockException; import org.hibernate.dialect.lock.PessimisticEntityLockException; +import org.hibernate.engine.jdbc.connections.spi.ConnectionProvider; import org.hibernate.engine.spi.SessionFactoryImplementor; import org.hibernate.exception.ConstraintViolationException; import org.hibernate.exception.DataException; import org.hibernate.exception.JDBCConnectionException; import org.hibernate.exception.LockAcquisitionException; import org.hibernate.exception.SQLGrammarException; -import org.hibernate.service.spi.Wrapped; +import org.hibernate.service.UnknownServiceException; import org.springframework.dao.CannotAcquireLockException; import org.springframework.dao.DataAccessException; @@ -88,14 +89,22 @@ public abstract class SessionFactoryUtils { * Determine the DataSource of the given SessionFactory. * @param sessionFactory the SessionFactory to check * @return the DataSource, or {@code null} if none found - * @see SessionFactoryImplementor#getConnectionProvider + * @see ConnectionProvider */ @SuppressWarnings("deprecation") public static DataSource getDataSource(SessionFactory sessionFactory) { if (sessionFactory instanceof SessionFactoryImplementor) { - Wrapped cp = ((SessionFactoryImplementor) sessionFactory).getConnectionProvider(); - if (cp != null) { - return cp.unwrap(DataSource.class); + try { + ConnectionProvider cp = ((SessionFactoryImplementor) sessionFactory).getServiceRegistry().getService( + ConnectionProvider.class); + if (cp != null) { + return cp.unwrap(DataSource.class); + } + } + catch (UnknownServiceException ex) { + if (logger.isDebugEnabled()) { + logger.debug("No ConnectionProvider found - cannot determine DataSource for SessionFactory: " + ex); + } } } return null;