Migrate to Jakarta EE 9.

Closes #2172
This commit is contained in:
Mark Paluch
2021-09-29 10:15:07 +02:00
parent 2659b9f12c
commit 10d8ca2a08
11 changed files with 72 additions and 95 deletions

56
pom.xml
View File

@@ -16,10 +16,8 @@
</parent>
<properties>
<spring>6.0.0-SNAPSHOT</spring>
<springdata.keyvalue>3.0.0-SNAPSHOT</springdata.keyvalue>
<awaitility>4.0.2</awaitility>
<jta>1.1</jta>
<beanutils>1.9.4</beanutils>
<xstream>1.4.18</xstream>
<pool>2.9.0</pool>
@@ -148,46 +146,36 @@
<!-- CDI -->
<!-- Dependency order required to build against CDI 1.0 and test with CDI 2.0 -->
<dependency>
<groupId>org.apache.geronimo.specs</groupId>
<artifactId>geronimo-jcdi_2.0_spec</artifactId>
<version>1.0.1</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>javax.interceptor</groupId>
<artifactId>javax.interceptor-api</artifactId>
<version>1.2.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>javax.enterprise</groupId>
<artifactId>cdi-api</artifactId>
<groupId>jakarta.enterprise</groupId>
<artifactId>jakarta.enterprise.cdi-api</artifactId>
<version>${cdi}</version>
<scope>provided</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>javax.annotation</groupId>
<artifactId>javax.annotation-api</artifactId>
<version>${javax-annotation-api}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.openwebbeans</groupId>
<artifactId>openwebbeans-se</artifactId>
<classifier>jakarta</classifier>
<version>${webbeans}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.xbean</groupId>
<artifactId>xbean-asm9-shaded</artifactId>
<version>${webbeans.xbean}</version>
<groupId>org.apache.openwebbeans</groupId>
<artifactId>openwebbeans-spi</artifactId>
<classifier>jakarta</classifier>
<version>${webbeans}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.openwebbeans</groupId>
<artifactId>openwebbeans-impl</artifactId>
<classifier>jakarta</classifier>
<version>${webbeans}</version>
<scope>test</scope>
</dependency>
@@ -240,20 +228,6 @@
<scope>test</scope>
</dependency>
<dependency>
<groupId>javax.transaction</groupId>
<artifactId>jta</artifactId>
<version>${jta}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>javax.annotation</groupId>
<artifactId>jsr250-api</artifactId>
<version>1.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.thoughtworks.xstream</groupId>
<artifactId>xstream</artifactId>

View File

@@ -15,6 +15,16 @@
*/
package org.springframework.data.redis.repository.cdi;
import jakarta.enterprise.context.ApplicationScoped;
import jakarta.enterprise.context.spi.CreationalContext;
import jakarta.enterprise.inject.Alternative;
import jakarta.enterprise.inject.Default;
import jakarta.enterprise.inject.Stereotype;
import jakarta.enterprise.inject.spi.Bean;
import jakarta.enterprise.inject.spi.BeanManager;
import jakarta.enterprise.inject.spi.InjectionPoint;
import jakarta.enterprise.inject.spi.PassivationCapable;
import java.lang.annotation.Annotation;
import java.lang.reflect.Type;
import java.util.ArrayList;
@@ -24,18 +34,9 @@ import java.util.HashSet;
import java.util.List;
import java.util.Set;
import javax.enterprise.context.ApplicationScoped;
import javax.enterprise.context.spi.CreationalContext;
import javax.enterprise.inject.Alternative;
import javax.enterprise.inject.Default;
import javax.enterprise.inject.Stereotype;
import javax.enterprise.inject.spi.Bean;
import javax.enterprise.inject.spi.BeanManager;
import javax.enterprise.inject.spi.InjectionPoint;
import javax.enterprise.inject.spi.PassivationCapable;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.util.Assert;
import org.springframework.util.StringUtils;
@@ -114,7 +115,7 @@ public abstract class CdiBean<T> implements Bean<T>, PassivationCapable {
/*
* (non-Javadoc)
* @see javax.enterprise.inject.spi.Bean#getTypes()
* @see jakarta.enterprise.inject.spi.Bean#getTypes()
*/
public Set<Type> getTypes() {
@@ -133,8 +134,8 @@ public abstract class CdiBean<T> implements Bean<T>, PassivationCapable {
* @param bean the {@link Bean} defining the instance to create.
* @param type the expected component type of the instance created from the {@link Bean}.
* @return an instance of the given {@link Bean}.
* @see javax.enterprise.inject.spi.BeanManager#getReference(Bean, Type, CreationalContext)
* @see javax.enterprise.inject.spi.Bean
* @see jakarta.enterprise.inject.spi.BeanManager#getReference(Bean, Type, CreationalContext)
* @see jakarta.enterprise.inject.spi.Bean
* @see java.lang.reflect.Type
*/
@SuppressWarnings("unchecked")
@@ -151,7 +152,7 @@ public abstract class CdiBean<T> implements Bean<T>, PassivationCapable {
/*
* (non-Javadoc)
* @see javax.enterprise.context.spi.Contextual#destroy(java.lang.Object, javax.enterprise.context.spi.CreationalContext)
* @see jakarta.enterprise.context.spi.Contextual#destroy(java.lang.Object, jakarta.enterprise.context.spi.CreationalContext)
*/
public void destroy(T instance, CreationalContext<T> creationalContext) {
@@ -165,7 +166,7 @@ public abstract class CdiBean<T> implements Bean<T>, PassivationCapable {
/*
* (non-Javadoc)
* @see javax.enterprise.inject.spi.Bean#getQualifiers()
* @see jakarta.enterprise.inject.spi.Bean#getQualifiers()
*/
public Set<Annotation> getQualifiers() {
return qualifiers;
@@ -173,7 +174,7 @@ public abstract class CdiBean<T> implements Bean<T>, PassivationCapable {
/*
* (non-Javadoc)
* @see javax.enterprise.inject.spi.Bean#getName()
* @see jakarta.enterprise.inject.spi.Bean#getName()
*/
public String getName() {
@@ -183,7 +184,7 @@ public abstract class CdiBean<T> implements Bean<T>, PassivationCapable {
/*
* (non-Javadoc)
* @see javax.enterprise.inject.spi.Bean#getStereotypes()
* @see jakarta.enterprise.inject.spi.Bean#getStereotypes()
*/
public Set<Class<? extends Annotation>> getStereotypes() {
@@ -201,7 +202,7 @@ public abstract class CdiBean<T> implements Bean<T>, PassivationCapable {
/*
* (non-Javadoc)
* @see javax.enterprise.inject.spi.Bean#getBeanClass()
* @see jakarta.enterprise.inject.spi.Bean#getBeanClass()
*/
public Class<?> getBeanClass() {
return beanClass;
@@ -209,7 +210,7 @@ public abstract class CdiBean<T> implements Bean<T>, PassivationCapable {
/*
* (non-Javadoc)
* @see javax.enterprise.inject.spi.Bean#isAlternative()
* @see jakarta.enterprise.inject.spi.Bean#isAlternative()
*/
public boolean isAlternative() {
return beanClass.isAnnotationPresent(Alternative.class);
@@ -217,7 +218,7 @@ public abstract class CdiBean<T> implements Bean<T>, PassivationCapable {
/*
* (non-Javadoc)
* @see javax.enterprise.inject.spi.Bean#isNullable()
* @see jakarta.enterprise.inject.spi.Bean#isNullable()
*/
public boolean isNullable() {
return false;
@@ -225,7 +226,7 @@ public abstract class CdiBean<T> implements Bean<T>, PassivationCapable {
/*
* (non-Javadoc)
* @see javax.enterprise.inject.spi.Bean#getInjectionPoints()
* @see jakarta.enterprise.inject.spi.Bean#getInjectionPoints()
*/
public Set<InjectionPoint> getInjectionPoints() {
return Collections.emptySet();
@@ -233,7 +234,7 @@ public abstract class CdiBean<T> implements Bean<T>, PassivationCapable {
/*
* (non-Javadoc)
* @see javax.enterprise.inject.spi.Bean#getScope()
* @see jakarta.enterprise.inject.spi.Bean#getScope()
*/
public Class<? extends Annotation> getScope() {
return ApplicationScoped.class;
@@ -241,7 +242,7 @@ public abstract class CdiBean<T> implements Bean<T>, PassivationCapable {
/*
* (non-Javadoc)
* @see javax.enterprise.inject.spi.PassivationCapable#getId()
* @see jakarta.enterprise.inject.spi.PassivationCapable#getId()
*/
public String getId() {
return passivationId;

View File

@@ -16,15 +16,15 @@
package org.springframework.data.redis.repository.cdi;
import jakarta.enterprise.context.spi.CreationalContext;
import jakarta.enterprise.inject.spi.Bean;
import jakarta.enterprise.inject.spi.BeanManager;
import java.lang.annotation.Annotation;
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
import java.util.Set;
import javax.enterprise.context.spi.CreationalContext;
import javax.enterprise.inject.spi.Bean;
import javax.enterprise.inject.spi.BeanManager;
import org.springframework.beans.factory.DisposableBean;
import org.springframework.data.redis.core.RedisKeyValueAdapter;
import org.springframework.data.redis.core.RedisOperations;
@@ -57,7 +57,7 @@ public class RedisKeyValueAdapterBean extends CdiBean<RedisKeyValueAdapter> {
/*
* (non-Javadoc)
* @see org.springframework.data.repository.cdi.CdiRepositoryBean#create(javax.enterprise.context.spi.CreationalContext, java.lang.Class)
* @see org.springframework.data.repository.cdi.CdiRepositoryBean#create(jakarta.enterprise.context.spi.CreationalContext, java.lang.Class)
*/
@Override
public RedisKeyValueAdapter create(CreationalContext<RedisKeyValueAdapter> creationalContext) {

View File

@@ -16,13 +16,13 @@
package org.springframework.data.redis.repository.cdi;
import jakarta.enterprise.context.spi.CreationalContext;
import jakarta.enterprise.inject.spi.Bean;
import jakarta.enterprise.inject.spi.BeanManager;
import java.lang.annotation.Annotation;
import java.util.Set;
import javax.enterprise.context.spi.CreationalContext;
import javax.enterprise.inject.spi.Bean;
import javax.enterprise.inject.spi.BeanManager;
import org.springframework.beans.factory.DisposableBean;
import org.springframework.data.keyvalue.core.KeyValueOperations;
import org.springframework.data.redis.core.RedisKeyValueAdapter;
@@ -57,7 +57,7 @@ public class RedisKeyValueTemplateBean extends CdiBean<KeyValueOperations> {
/*
* (non-Javadoc)
* @see org.springframework.data.repository.cdi.CdiRepositoryBean#create(javax.enterprise.context.spi.CreationalContext, java.lang.Class)
* @see org.springframework.data.repository.cdi.CdiRepositoryBean#create(jakarta.enterprise.context.spi.CreationalContext, java.lang.Class)
*/
@Override
public KeyValueOperations create(CreationalContext<KeyValueOperations> creationalContext) {

View File

@@ -15,14 +15,14 @@
*/
package org.springframework.data.redis.repository.cdi;
import jakarta.enterprise.context.spi.CreationalContext;
import jakarta.enterprise.inject.spi.Bean;
import jakarta.enterprise.inject.spi.BeanManager;
import java.lang.annotation.Annotation;
import java.util.Optional;
import java.util.Set;
import javax.enterprise.context.spi.CreationalContext;
import javax.enterprise.inject.spi.Bean;
import javax.enterprise.inject.spi.BeanManager;
import org.springframework.data.keyvalue.core.KeyValueOperations;
import org.springframework.data.redis.repository.query.RedisQueryCreator;
import org.springframework.data.redis.repository.support.RedisRepositoryFactory;
@@ -62,7 +62,7 @@ public class RedisRepositoryBean<T> extends CdiRepositoryBean<T> {
/*
* (non-Javadoc)
* @see org.springframework.data.repository.cdi.CdiRepositoryBean#create(javax.enterprise.context.spi.CreationalContext, java.lang.Class)
* @see org.springframework.data.repository.cdi.CdiRepositoryBean#create(jakarta.enterprise.context.spi.CreationalContext, java.lang.Class)
*/
@Override
protected T create(CreationalContext<T> creationalContext, Class<T> repositoryType) {

View File

@@ -15,6 +15,13 @@
*/
package org.springframework.data.redis.repository.cdi;
import jakarta.enterprise.event.Observes;
import jakarta.enterprise.inject.UnsatisfiedResolutionException;
import jakarta.enterprise.inject.spi.AfterBeanDiscovery;
import jakarta.enterprise.inject.spi.Bean;
import jakarta.enterprise.inject.spi.BeanManager;
import jakarta.enterprise.inject.spi.ProcessBean;
import java.lang.annotation.Annotation;
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
@@ -24,15 +31,9 @@ import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
import javax.enterprise.event.Observes;
import javax.enterprise.inject.UnsatisfiedResolutionException;
import javax.enterprise.inject.spi.AfterBeanDiscovery;
import javax.enterprise.inject.spi.Bean;
import javax.enterprise.inject.spi.BeanManager;
import javax.enterprise.inject.spi.ProcessBean;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.data.keyvalue.core.KeyValueOperations;
import org.springframework.data.redis.core.RedisKeyValueAdapter;
import org.springframework.data.redis.core.RedisKeyValueTemplate;

View File

@@ -17,14 +17,14 @@ package org.springframework.data.redis.repository.cdi;
import static org.assertj.core.api.Assertions.*;
import jakarta.enterprise.context.ApplicationScoped;
import jakarta.enterprise.inject.se.SeContainer;
import jakarta.enterprise.inject.se.SeContainerInitializer;
import jakarta.enterprise.inject.spi.Bean;
import java.util.List;
import java.util.Set;
import javax.enterprise.context.ApplicationScoped;
import javax.enterprise.inject.se.SeContainer;
import javax.enterprise.inject.se.SeContainerInitializer;
import javax.enterprise.inject.spi.Bean;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;

View File

@@ -15,12 +15,13 @@
*/
package org.springframework.data.redis.repository.cdi;
import jakarta.inject.Qualifier;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import javax.inject.Qualifier;
/**
* @author Mark Paluch

View File

@@ -16,8 +16,8 @@
package org.springframework.data.redis.repository.cdi;
import javax.enterprise.inject.Disposes;
import javax.enterprise.inject.Produces;
import jakarta.enterprise.inject.Disposes;
import jakarta.enterprise.inject.Produces;
import org.springframework.beans.factory.DisposableBean;
import org.springframework.data.redis.connection.RedisConnectionFactory;

View File

@@ -15,7 +15,7 @@
*/
package org.springframework.data.redis.repository.cdi;
import javax.inject.Inject;
import jakarta.inject.Inject;
/**
* @author Mark Paluch