Replace Java EE 8 javax package imports with Jakarta EE 9 jakarta package.
Resolves gh-539.
This commit is contained in:
@@ -14,7 +14,6 @@ package org.springframework.data.gemfire.function.execution;
|
||||
|
||||
import java.lang.reflect.Method;
|
||||
|
||||
|
||||
/**
|
||||
* @author David Turanski
|
||||
*
|
||||
@@ -22,18 +21,19 @@ import java.lang.reflect.Method;
|
||||
class DefaultFunctionExecutionMethodMetadata extends FunctionExecutionMethodMetadata<MethodMetadata> {
|
||||
|
||||
/**
|
||||
* @param serviceInterface
|
||||
* Constructs a new instance of {@link DefaultFunctionExecutionMethodMetadata} initialized with
|
||||
* the {@link org.apache.geode.cache.execute.Function} {@link org.apache.geode.cache.execute.Execution}
|
||||
* {@link Class interface}.
|
||||
*
|
||||
* @param serviceInterface {@link org.apache.geode.cache.execute.Function}
|
||||
* {@link org.apache.geode.cache.execute.Execution} {@link Class interface}.
|
||||
*/
|
||||
public DefaultFunctionExecutionMethodMetadata(Class<?> serviceInterface) {
|
||||
super(serviceInterface);
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.springframework.data.gemfire.function.config.FunctionExecutionMethodMetadata#newMetadataInstance(java.lang.reflect.Method)
|
||||
*/
|
||||
@Override
|
||||
protected MethodMetadata newMetadataInstance(Method method) {
|
||||
return new MethodMetadata(method);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -14,7 +14,6 @@
|
||||
* limitations under the License.
|
||||
*
|
||||
*/
|
||||
|
||||
package org.springframework.data.gemfire.repository.cdi;
|
||||
|
||||
import java.lang.annotation.Annotation;
|
||||
@@ -24,9 +23,9 @@ import java.util.HashSet;
|
||||
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 jakarta.enterprise.context.spi.CreationalContext;
|
||||
import jakarta.enterprise.inject.spi.Bean;
|
||||
import jakarta.enterprise.inject.spi.BeanManager;
|
||||
|
||||
import org.apache.geode.cache.Region;
|
||||
|
||||
@@ -51,6 +50,7 @@ import org.springframework.data.repository.config.CustomRepositoryImplementation
|
||||
* @see org.apache.geode.cache.Region
|
||||
* @since 1.8.0
|
||||
*/
|
||||
@SuppressWarnings("rawtypes")
|
||||
class GemfireRepositoryBean<T> extends CdiRepositoryBean<T> {
|
||||
|
||||
static final GemfireMappingContext DEFAULT_GEMFIRE_MAPPING_CONTEXT = new GemfireMappingContext();
|
||||
@@ -61,8 +61,6 @@ class GemfireRepositoryBean<T> extends CdiRepositoryBean<T> {
|
||||
|
||||
private final Set<Bean<Region>> regionBeans;
|
||||
|
||||
/* (non-Javadoc) */
|
||||
@SuppressWarnings("unchecked")
|
||||
GemfireRepositoryBean(BeanManager beanManager, Class<T> repositoryType, Set<Annotation> qualifiers,
|
||||
CustomRepositoryImplementationDetector detector, Bean<GemfireMappingContext> gemfireMappingContextBean,
|
||||
Set<Bean<Region>> regionBeans) {
|
||||
@@ -77,17 +75,17 @@ class GemfireRepositoryBean<T> extends CdiRepositoryBean<T> {
|
||||
/**
|
||||
* Returns an instance of the given {@link Bean} from the container.
|
||||
*
|
||||
* @param <S> the actual class type of the {@link Bean}.
|
||||
* @param <S> the actual {@link Type class type} of the {@link Bean}.
|
||||
* @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.BeanManager#getReference(javax.enterprise.inject.spi.Bean, Type, javax.enterprise.context.spi.CreationalContext)
|
||||
* @see javax.enterprise.inject.spi.Bean
|
||||
* @see java.lang.reflect.Type
|
||||
*/
|
||||
@SuppressWarnings("unchecked")
|
||||
protected <S> S getDependencyInstance(Bean<S> bean, Type type) {
|
||||
return (S) beanManager.getReference(bean, type, beanManager.createCreationalContext(bean));
|
||||
return (S) this.beanManager.getReference(bean, type, this.beanManager.createCreationalContext(bean));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -101,12 +99,13 @@ class GemfireRepositoryBean<T> extends CdiRepositoryBean<T> {
|
||||
* @see javax.enterprise.inject.spi.Bean#getTypes()
|
||||
* @see java.lang.Class
|
||||
*/
|
||||
@SuppressWarnings("unchecked")
|
||||
protected <S> Type resolveType(Bean<S> bean, Class<S> targetType) {
|
||||
|
||||
for (Type type : bean.getTypes()) {
|
||||
|
||||
Type assignableType = (type instanceof ParameterizedType ? ((ParameterizedType) type).getRawType() : type);
|
||||
|
||||
if (assignableType instanceof Class && targetType.isAssignableFrom((Class) assignableType)) {
|
||||
if (assignableType instanceof Class && targetType.isAssignableFrom((Class<?>) assignableType)) {
|
||||
return type;
|
||||
}
|
||||
}
|
||||
@@ -116,9 +115,9 @@ class GemfireRepositoryBean<T> extends CdiRepositoryBean<T> {
|
||||
targetType, bean));
|
||||
}
|
||||
|
||||
/* (non-Javadoc) */
|
||||
Iterable<Region<?, ?>> resolveGemfireRegions() {
|
||||
Set<Region<?, ?>> regions = new HashSet<Region<?, ?>>(regionBeans.size());
|
||||
|
||||
Set<Region<?, ?>> regions = new HashSet<>(regionBeans.size());
|
||||
|
||||
for (Bean<Region> regionBean : regionBeans) {
|
||||
regions.add(getDependencyInstance(regionBean, resolveType(regionBean, Region.class)));
|
||||
@@ -127,14 +126,12 @@ class GemfireRepositoryBean<T> extends CdiRepositoryBean<T> {
|
||||
return regions;
|
||||
}
|
||||
|
||||
/* (non-Javadoc) */
|
||||
GemfireMappingContext resolveGemfireMappingContext() {
|
||||
return (gemfireMappingContextBean != null
|
||||
? getDependencyInstance(gemfireMappingContextBean, GemfireMappingContext.class)
|
||||
: DEFAULT_GEMFIRE_MAPPING_CONTEXT);
|
||||
}
|
||||
|
||||
/* (non-Javadoc) */
|
||||
GemfireRepositoryFactory newGemfireRepositoryFactory() {
|
||||
return new GemfireRepositoryFactory(resolveGemfireRegions(), resolveGemfireMappingContext());
|
||||
}
|
||||
|
||||
@@ -14,7 +14,6 @@
|
||||
* limitations under the License.
|
||||
*
|
||||
*/
|
||||
|
||||
package org.springframework.data.gemfire.repository.cdi;
|
||||
|
||||
import java.lang.annotation.Annotation;
|
||||
@@ -25,21 +24,21 @@ import java.util.HashSet;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import javax.enterprise.event.Observes;
|
||||
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 jakarta.enterprise.event.Observes;
|
||||
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 org.apache.geode.cache.Region;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import org.springframework.data.gemfire.mapping.GemfireMappingContext;
|
||||
import org.springframework.data.repository.cdi.CdiRepositoryBean;
|
||||
import org.springframework.data.repository.cdi.CdiRepositoryExtensionSupport;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
/**
|
||||
* The GemfireRepositoryExtension class...
|
||||
*
|
||||
@@ -47,18 +46,17 @@ import org.springframework.data.repository.cdi.CdiRepositoryExtensionSupport;
|
||||
* @see org.springframework.data.repository.cdi.CdiRepositoryExtensionSupport
|
||||
* @since 1.8.0
|
||||
*/
|
||||
@SuppressWarnings("unused")
|
||||
@SuppressWarnings({ "rawtypes", "unused" })
|
||||
public class GemfireRepositoryExtension extends CdiRepositoryExtensionSupport {
|
||||
|
||||
protected final Logger logger = LoggerFactory.getLogger(getClass());
|
||||
private final Logger logger = LoggerFactory.getLogger(getClass());
|
||||
|
||||
final Map<Set<Annotation>, Bean<GemfireMappingContext>> mappingContexts = new HashMap<>();
|
||||
|
||||
final Set<Bean<Region>> regionBeans = new HashSet<>();
|
||||
|
||||
/* (non-Javadoc) */
|
||||
public GemfireRepositoryExtension() {
|
||||
logger.info("Activating CDI extension for Spring Data GemFire Repositories");
|
||||
logger.info("Activating CDI extension for Spring Data Geode Repositories");
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -67,8 +65,8 @@ public class GemfireRepositoryExtension extends CdiRepositoryExtensionSupport {
|
||||
*
|
||||
* @param <X> class type of the bean instance.
|
||||
* @param processBean annotated type as defined by CDI.
|
||||
* @see javax.enterprise.inject.spi.ProcessBean
|
||||
* @see javax.enterprise.event.Observes
|
||||
* @see jakarta.enterprise.inject.spi.ProcessBean
|
||||
* @see jakarta.enterprise.event.Observes
|
||||
*/
|
||||
@SuppressWarnings("unchecked")
|
||||
<X> void processBean(@Observes ProcessBean<X> processBean) {
|
||||
@@ -107,9 +105,9 @@ public class GemfireRepositoryExtension extends CdiRepositoryExtensionSupport {
|
||||
* Repository beans are associated to the appropriate GemfireMappingContexts based on their qualifiers.
|
||||
*
|
||||
* @param beanManager the BeanManager instance.
|
||||
* @see javax.enterprise.inject.spi.AfterBeanDiscovery
|
||||
* @see javax.enterprise.inject.spi.BeanManager
|
||||
* @see javax.enterprise.event.Observes
|
||||
* @see jakarta.enterprise.inject.spi.AfterBeanDiscovery
|
||||
* @see jakarta.enterprise.inject.spi.BeanManager
|
||||
* @see jakarta.enterprise.event.Observes
|
||||
*/
|
||||
void afterBeanDiscovery(@Observes AfterBeanDiscovery afterBeanDiscovery, BeanManager beanManager) {
|
||||
|
||||
@@ -130,15 +128,14 @@ public class GemfireRepositoryExtension extends CdiRepositoryExtensionSupport {
|
||||
}
|
||||
}
|
||||
|
||||
/* (non-Javadoc) */
|
||||
<T> CdiRepositoryBean<T> createRepositoryBean(BeanManager beanManager, Class<T> repositoryType,
|
||||
Set<Annotation> qualifiers) {
|
||||
|
||||
// Determine the GemfireMappingContext bean that matches the qualifiers of the Repository.
|
||||
Bean<GemfireMappingContext> gemfireMappingContextBean = mappingContexts.get(qualifiers);
|
||||
// Determine the GemfireMappingContext bean matching the qualifiers of the Repository.
|
||||
Bean<GemfireMappingContext> gemfireMappingContextBean = this.mappingContexts.get(qualifiers);
|
||||
|
||||
// Construct and return a GemFire Repository bean.
|
||||
return new GemfireRepositoryBean<T>(beanManager, repositoryType, qualifiers, getCustomImplementationDetector(),
|
||||
gemfireMappingContextBean, regionBeans);
|
||||
// Construct and return a GemfireRepositoryBean.
|
||||
return new GemfireRepositoryBean<>(beanManager, repositoryType, qualifiers, getCustomImplementationDetector(),
|
||||
gemfireMappingContextBean, this.regionBeans);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,7 +13,6 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.data.gemfire.serialization;
|
||||
|
||||
import org.apache.geode.DataSerializable;
|
||||
@@ -28,25 +27,23 @@ import org.springframework.beans.factory.InitializingBean;
|
||||
import org.springframework.beans.factory.wiring.BeanConfigurerSupport;
|
||||
|
||||
/**
|
||||
* Instantiator that performs instance wiring using the Spring IoC container, allowing common properties
|
||||
* to be injected before the object is hydrated/deserialized. The newly created instances can be configured
|
||||
* either by relying on an existing bean definition (which acts as a template) or by providing an embedded
|
||||
* configuration through annotations.
|
||||
* Apache Geode {@link Instantiator} that performs instance wiring using the Spring IoC container, allowing common
|
||||
* properties to be injected before the object is hydrated/deserialized. The newly created instances can be configured
|
||||
* either by relying on an existing bean definition (which acts as a template) or by providing an embedded configuration
|
||||
* through annotations.
|
||||
*
|
||||
* Can reuse existing instantiators to optimize instance creation. If one is not provided, it will fallback
|
||||
* to reflection invocation.
|
||||
* Can reuse existing {@link Instantiator Instantiators} to optimize instance creation. If one is not provided,
|
||||
* it will fallback to reflection invocation.
|
||||
*
|
||||
* By default, on initialization, the class will register itself as an {@link Instantiator} through
|
||||
* {@link #register(Instantiator)}. This behaviour can be disabled through {@link #setAutoRegister(boolean)}.
|
||||
* Additionally, the instantiator registration is not distributed by default, to allow the application context
|
||||
* to be reused. This can be changed through {@link #setDistribute(boolean)}.
|
||||
*
|
||||
* @author Costin Leau
|
||||
* @see org.springframework.beans.factory.wiring.BeanConfigurerSupport
|
||||
* @see org.springframework.beans.factory.wiring.BeanWiringInfoResolver
|
||||
* @see org.springframework.beans.factory.annotation.Autowired
|
||||
* @see javax.annotation.Resource
|
||||
*
|
||||
* @author Costin Leau
|
||||
*/
|
||||
public class WiringInstantiator extends Instantiator implements BeanFactoryAware, InitializingBean, DisposableBean {
|
||||
|
||||
|
||||
@@ -14,15 +14,13 @@
|
||||
* limitations under the License.
|
||||
*
|
||||
*/
|
||||
|
||||
package org.springframework.data.gemfire.cache;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
import javax.annotation.PostConstruct;
|
||||
import javax.annotation.Resource;
|
||||
import jakarta.annotation.PostConstruct;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
@@ -30,6 +28,7 @@ import org.junit.runner.RunWith;
|
||||
import org.apache.geode.cache.Region;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.cache.annotation.Cacheable;
|
||||
import org.springframework.data.gemfire.tests.integration.IntegrationTestsSupport;
|
||||
import org.springframework.test.context.ActiveProfiles;
|
||||
@@ -60,11 +59,12 @@ public class CachingWithGemFireIntegrationTests extends IntegrationTestsSupport
|
||||
@Autowired
|
||||
private NamedNumbersService namedNumbersService;
|
||||
|
||||
@Resource(name = "NamedNumbersRegion")
|
||||
@Autowired
|
||||
@Qualifier("NamedNumbersRegion")
|
||||
private Region<String, Integer> namedNumbersRegion;
|
||||
|
||||
@Test(expected = NullPointerException.class)
|
||||
public void testRegionCacheHit() {
|
||||
public void regionCacheHitIsCorrect() {
|
||||
|
||||
assertThat(namedNumbersRegion.get("eleven")).isNull();
|
||||
assertThat(namedNumbersRegion.containsKey("eleven")).isFalse();
|
||||
@@ -87,7 +87,7 @@ public class CachingWithGemFireIntegrationTests extends IntegrationTestsSupport
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testRegionCaching() {
|
||||
public void regionCachingIsCorrect() {
|
||||
|
||||
assertThat(namedNumbersService.wasCacheMiss()).isFalse();
|
||||
assertThat(namedNumbersService.get("one").intValue()).isEqualTo(1);
|
||||
|
||||
@@ -28,7 +28,7 @@ import java.util.Properties;
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.atomic.AtomicInteger;
|
||||
|
||||
import javax.annotation.PostConstruct;
|
||||
import jakarta.annotation.PostConstruct;
|
||||
|
||||
import org.junit.AfterClass;
|
||||
import org.junit.BeforeClass;
|
||||
|
||||
@@ -18,8 +18,8 @@ package org.springframework.data.gemfire.repository.cdi;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
import javax.enterprise.inject.se.SeContainer;
|
||||
import javax.enterprise.inject.se.SeContainerInitializer;
|
||||
import jakarta.enterprise.inject.se.SeContainer;
|
||||
import jakarta.enterprise.inject.se.SeContainerInitializer;
|
||||
|
||||
import org.junit.AfterClass;
|
||||
import org.junit.BeforeClass;
|
||||
|
||||
@@ -14,14 +14,14 @@
|
||||
* limitations under the License.
|
||||
*
|
||||
*/
|
||||
|
||||
package org.springframework.data.gemfire.repository.cdi;
|
||||
|
||||
import javax.enterprise.context.ApplicationScoped;
|
||||
import javax.enterprise.inject.Produces;
|
||||
import jakarta.enterprise.context.ApplicationScoped;
|
||||
import jakarta.enterprise.inject.Produces;
|
||||
|
||||
import org.apache.geode.cache.Cache;
|
||||
import org.apache.geode.cache.CacheFactory;
|
||||
import org.apache.geode.cache.GemFireCache;
|
||||
import org.apache.geode.cache.Region;
|
||||
import org.apache.geode.cache.RegionFactory;
|
||||
import org.apache.geode.cache.RegionShortcut;
|
||||
@@ -30,14 +30,15 @@ import org.springframework.data.gemfire.repository.sample.Person;
|
||||
import org.springframework.util.Assert;
|
||||
|
||||
/**
|
||||
* The GemfireCacheRegionProducer class is an application scoped CDI context bean that is responsible
|
||||
* for creating the GemFire Cache "People" Region used to store {@link Person} instances.
|
||||
* The {@link GemfireCacheRegionProducer} class is an application scoped CDI context bean that is responsible
|
||||
* for creating the {@link GemFireCache} {@literal People} {@link Region} used to store {@link Person} instances.
|
||||
*
|
||||
* @author John Blum
|
||||
* @see javax.enterprise.context.ApplicationScoped
|
||||
* @see javax.enterprise.inject.Produces
|
||||
* @see jakarta.enterprise.context.ApplicationScoped
|
||||
* @see jakarta.enterprise.inject.Produces
|
||||
* @see org.apache.geode.cache.Cache
|
||||
* @see org.apache.geode.cache.CacheFactory
|
||||
* @see org.apache.geode.cache.GemFireCache
|
||||
* @see org.apache.geode.cache.Region
|
||||
* @see org.apache.geode.cache.RegionFactory
|
||||
* @since 1.8.0
|
||||
|
||||
@@ -34,9 +34,9 @@ import java.util.Set;
|
||||
import java.util.concurrent.ConcurrentMap;
|
||||
import java.util.concurrent.atomic.AtomicBoolean;
|
||||
|
||||
import javax.enterprise.context.spi.CreationalContext;
|
||||
import javax.enterprise.inject.spi.Bean;
|
||||
import javax.enterprise.inject.spi.BeanManager;
|
||||
import jakarta.enterprise.context.spi.CreationalContext;
|
||||
import jakarta.enterprise.inject.spi.Bean;
|
||||
import jakarta.enterprise.inject.spi.BeanManager;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
@@ -278,7 +278,7 @@ public class GemfireRepositoryBeanTest {
|
||||
final AtomicBoolean repositoryProxyPostProcessed = new AtomicBoolean(false);
|
||||
|
||||
GemfireRepositoryBean<PersonRepository> repositoryBean =
|
||||
new GemfireRepositoryBean<PersonRepository>(this.mockBeanManager, PersonRepository.class,
|
||||
new GemfireRepositoryBean<>(this.mockBeanManager, PersonRepository.class,
|
||||
Collections.emptySet(), newCustomRepositoryImplementationDetector(), null,
|
||||
CollectionUtils.asSet(mockRegionBean))
|
||||
{
|
||||
|
||||
@@ -31,11 +31,11 @@ import java.util.HashSet;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
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 javax.inject.Qualifier;
|
||||
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 jakarta.inject.Qualifier;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
@@ -47,13 +47,14 @@ import org.springframework.data.gemfire.mapping.GemfireMappingContext;
|
||||
import org.springframework.data.gemfire.repository.GemfireRepository;
|
||||
|
||||
/**
|
||||
* The GemfireRepositoryExtensionTest class is a test suite of unit tests testing the contract and proper functionality
|
||||
* of the {@link GemfireRepositoryExtension} class in a Java EE CDI context.
|
||||
* Integration Tests for the {@link GemfireRepositoryExtension} class and functionality in a Java EE CDI context.
|
||||
*
|
||||
* @author John Blum
|
||||
* @see javax.enterprise.inject.spi.Bean
|
||||
* @see jakarta.enterprise.inject.spi.Bean
|
||||
* @see jakarta.enterprise.inject.spi.BeanManager
|
||||
* @see org.junit.Test
|
||||
* @see org.mockito.Mockito
|
||||
* @see org.apache.geode.cache.Region
|
||||
* @see org.springframework.data.gemfire.mapping.GemfireMappingContext
|
||||
* @see org.springframework.data.gemfire.repository.GemfireRepository
|
||||
* @see org.springframework.data.gemfire.repository.cdi.GemfireRepositoryExtension
|
||||
|
||||
@@ -14,21 +14,20 @@
|
||||
* limitations under the License.
|
||||
*
|
||||
*/
|
||||
|
||||
package org.springframework.data.gemfire.repository.cdi;
|
||||
|
||||
import java.util.concurrent.atomic.AtomicLong;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import jakarta.inject.Inject;
|
||||
|
||||
import org.springframework.data.gemfire.repository.sample.Person;
|
||||
import org.springframework.util.Assert;
|
||||
|
||||
/**
|
||||
* The RepositoryClient class is a user/consumer of the {@link SamplePersonRepository} bean in a CDI context.
|
||||
* {@link RepositoryClient} is a user/consumer of the {@link SamplePersonRepository} bean in a CDI context.
|
||||
*
|
||||
* @author John Blum
|
||||
* @see javax.inject.Inject
|
||||
* @see jakarta.inject.Inject
|
||||
* @see org.springframework.data.gemfire.repository.cdi.SamplePersonRepository
|
||||
* @since 1.8.0
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user