diff --git a/framework-platform/framework-platform.gradle b/framework-platform/framework-platform.gradle index 4485036d44..da2bb680f9 100644 --- a/framework-platform/framework-platform.gradle +++ b/framework-platform/framework-platform.gradle @@ -9,11 +9,11 @@ javaPlatform { dependencies { api(platform("com.fasterxml.jackson:jackson-bom:2.14.3")) api(platform("io.micrometer:micrometer-bom:1.10.7")) - api(platform("io.netty:netty-bom:4.1.92.Final")) + api(platform("io.netty:netty-bom:4.1.93.Final")) api(platform("io.netty:netty5-bom:5.0.0.Alpha5")) api(platform("io.projectreactor:reactor-bom:2022.0.7")) api(platform("io.rsocket:rsocket-bom:1.1.3")) - api(platform("org.apache.groovy:groovy-bom:4.0.11")) + api(platform("org.apache.groovy:groovy-bom:4.0.12")) api(platform("org.apache.logging.log4j:log4j-bom:2.20.0")) api(platform("org.eclipse.jetty:jetty-bom:11.0.15")) api(platform("org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.7.1")) @@ -29,7 +29,7 @@ dependencies { api("com.google.code.findbugs:findbugs:3.0.1") api("com.google.code.findbugs:jsr305:3.0.2") api("com.google.code.gson:gson:2.10.1") - api("com.google.protobuf:protobuf-java-util:3.23.0") + api("com.google.protobuf:protobuf-java-util:3.23.2") api("com.googlecode.protobuf-java-format:protobuf-java-format:1.4") api("com.h2database:h2:2.1.214") api("com.jayway.jsonpath:json-path:2.8.0") @@ -45,7 +45,7 @@ dependencies { api("com.thoughtworks.xstream:xstream:1.4.20") api("commons-io:commons-io:2.11.0") api("de.bechte.junit:junit-hierarchicalcontextrunner:4.12.2") - api("info.picocli:picocli:4.7.3") + api("info.picocli:picocli:4.7.4") api("io.micrometer:context-propagation:1.0.0") api("io.mockk:mockk:1.13.4") api("io.projectreactor.netty:reactor-netty5-http:2.0.0-M3") @@ -55,9 +55,9 @@ dependencies { api("io.r2dbc:r2dbc-spi:1.0.0.RELEASE") api("io.reactivex.rxjava3:rxjava:3.1.6") api("io.smallrye.reactive:mutiny:1.9.0") - api("io.undertow:undertow-core:2.3.5.Final") - api("io.undertow:undertow-servlet:2.3.5.Final") - api("io.undertow:undertow-websockets-jsr:2.3.5.Final") + api("io.undertow:undertow-core:2.3.6.Final") + api("io.undertow:undertow-servlet:2.3.6.Final") + api("io.undertow:undertow-websockets-jsr:2.3.6.Final") api("io.vavr:vavr:0.10.4") api("jakarta.activation:jakarta.activation-api:2.0.1") api("jakarta.annotation:jakarta.annotation-api:2.0.0") @@ -99,8 +99,8 @@ dependencies { api("org.apache.httpcomponents.client5:httpclient5:5.2.1") api("org.apache.httpcomponents.core5:httpcore5-reactive:5.2.1") api("org.apache.poi:poi-ooxml:5.2.3") - api("org.apache.tomcat.embed:tomcat-embed-core:10.1.8") - api("org.apache.tomcat.embed:tomcat-embed-websocket:10.1.8") + api("org.apache.tomcat.embed:tomcat-embed-core:10.1.9") + api("org.apache.tomcat.embed:tomcat-embed-websocket:10.1.9") api("org.apache.tomcat:tomcat-util:10.1.8") api("org.apache.tomcat:tomcat-websocket:10.1.8") api("org.aspectj:aspectjrt:1.9.19") diff --git a/spring-orm/src/main/java/org/springframework/orm/jpa/vendor/EclipseLinkJpaDialect.java b/spring-orm/src/main/java/org/springframework/orm/jpa/vendor/EclipseLinkJpaDialect.java index 4a952a4d1a..7f6af0152e 100644 --- a/spring-orm/src/main/java/org/springframework/orm/jpa/vendor/EclipseLinkJpaDialect.java +++ b/spring-orm/src/main/java/org/springframework/orm/jpa/vendor/EclipseLinkJpaDialect.java @@ -110,7 +110,7 @@ public class EclipseLinkJpaDialect extends DefaultJpaDialect { } } - return entityManager; + return null; } @Override diff --git a/spring-orm/src/test/java/org/springframework/orm/jpa/AbstractContainerEntityManagerFactoryIntegrationTests.java b/spring-orm/src/test/java/org/springframework/orm/jpa/AbstractContainerEntityManagerFactoryIntegrationTests.java index 654b26cc0d..cc0ff84e6a 100644 --- a/spring-orm/src/test/java/org/springframework/orm/jpa/AbstractContainerEntityManagerFactoryIntegrationTests.java +++ b/spring-orm/src/test/java/org/springframework/orm/jpa/AbstractContainerEntityManagerFactoryIntegrationTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2022 the original author or authors. + * Copyright 2002-2023 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. @@ -26,8 +26,10 @@ import jakarta.persistence.Query; import org.junit.jupiter.api.Test; import org.springframework.core.testfixture.io.SerializationTestUtils; +import org.springframework.jdbc.datasource.DataSourceUtils; import org.springframework.orm.jpa.domain.DriversLicense; import org.springframework.orm.jpa.domain.Person; +import org.springframework.transaction.TransactionDefinition; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatException; @@ -113,24 +115,34 @@ public abstract class AbstractContainerEntityManagerFactoryIntegrationTests } @Test - public void testLazyLoading() { + public void testLazyLoading() throws Exception { try { Person tony = new Person(); tony.setFirstName("Tony"); tony.setLastName("Blair"); tony.setDriversLicense(new DriversLicense("8439DK")); sharedEntityManager.persist(tony); + assertThat(DataSourceUtils.getConnection(jdbcTemplate.getDataSource()).getTransactionIsolation()) + .isEqualTo(TransactionDefinition.ISOLATION_READ_COMMITTED); setComplete(); endTransaction(); + transactionDefinition.setIsolationLevel(TransactionDefinition.ISOLATION_SERIALIZABLE); startNewTransaction(); + assertThat(DataSourceUtils.getConnection(jdbcTemplate.getDataSource()).getTransactionIsolation()) + .isEqualTo(TransactionDefinition.ISOLATION_SERIALIZABLE); sharedEntityManager.clear(); Person newTony = entityManagerFactory.createEntityManager().getReference(Person.class, tony.getId()); assertThat(tony).isNotSameAs(newTony); endTransaction(); - assertThat(newTony.getDriversLicense()).isNotNull(); + transactionDefinition.setIsolationLevel(TransactionDefinition.ISOLATION_DEFAULT); + startNewTransaction(); + assertThat(DataSourceUtils.getConnection(jdbcTemplate.getDataSource()).getTransactionIsolation()) + .isEqualTo(TransactionDefinition.ISOLATION_READ_COMMITTED); + endTransaction(); + assertThat(newTony.getDriversLicense()).isNotNull(); newTony.getDriversLicense().getSerialNumber(); } finally {