Quantcast
Channel: Active questions tagged redis+java - Stack Overflow
Viewing all articles
Browse latest Browse all 2204

@EnableRedisRepositories not working and gives error: Failed to read candidate component class

$
0
0

I am trying to integrate Redis into my spring web application but getting a lot of challenges. As I want to use Redis through the spring repository so add a @EnableRedisRepositories in the Redis configuration but it conflicting somehow and gives the following error:

org.springframework.beans.factory.BeanDefinitionStoreException: Failed to read candidate component class: file [/Users/nomansadiq/Documents/code-workspace/EHCS-master/target/classes/com/bison/ams/config/RedisConfig.class]; nested exception is java.lang.annotation.AnnotationFormatError: Invalid default: public abstract java.lang.Class org.springframework.data.redis.repository.configuration.EnableRedisRepositories.repositoryBaseClass()    at org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider.findCandidateComponents(ClassPathScanningCandidateComponentProvider.java:303)    at org.springframework.context.annotation.ClassPathBeanDefinitionScanner.doScan(ClassPathBeanDefinitionScanner.java:248)    at org.springframework.context.annotation.ComponentScanAnnotationParser.parse(ComponentScanAnnotationParser.java:137)    at org.springframework.context.annotation.ConfigurationClassParser.doProcessConfigurationClass(ConfigurationClassParser.java:268)    at org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java:232)    at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:199)    at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:168)    at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:321)    at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:243)    at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:273)    at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:98)    at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:678)    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:520)    at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:403)    at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:306)    at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:106)    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4762)    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5222)    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:726)    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:698)    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:696)    at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:689)    at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1888)    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)    at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266)    at java.util.concurrent.FutureTask.run(FutureTask.java)    at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)    at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:112)    at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:582)    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:472)    at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1617)    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:318)    at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)    at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:423)    at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:366)    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:943)    at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:835)    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1393)    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1383)    at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266)    at java.util.concurrent.FutureTask.run(FutureTask.java)    at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)    at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134)    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:916)    at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:265)    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)    at org.apache.catalina.core.StandardService.startInternal(StandardService.java:430)    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)    at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:930)    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)    at org.apache.catalina.startup.Catalina.start(Catalina.java:772)    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)    at java.lang.reflect.Method.invoke(Method.java:498)    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:347)    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:478)Caused by: java.lang.annotation.AnnotationFormatError: Invalid default: public abstract java.lang.Class org.springframework.data.redis.repository.configuration.EnableRedisRepositories.repositoryBaseClass()    at java.lang.reflect.Method.getDefaultValue(Method.java:612)    at org.springframework.core.type.classreading.RecursiveAnnotationAttributesVisitor.registerDefaultValues(RecursiveAnnotationAttributesVisitor.java:69)    at org.springframework.core.type.classreading.RecursiveAnnotationAttributesVisitor.doVisitEnd(RecursiveAnnotationAttributesVisitor.java:57)    at org.springframework.core.type.classreading.AnnotationAttributesReadingVisitor.doVisitEnd(AnnotationAttributesReadingVisitor.java:67)    at org.springframework.core.type.classreading.RecursiveAnnotationAttributesVisitor.visitEnd(RecursiveAnnotationAttributesVisitor.java:48)    at org.springframework.asm.ClassReader.readAnnotationValues(ClassReader.java:1802)    at org.springframework.asm.ClassReader.accept(ClassReader.java:642)    at org.springframework.asm.ClassReader.accept(ClassReader.java:508)    at org.springframework.core.type.classreading.SimpleMetadataReader.<init>(SimpleMetadataReader.java:64)    at org.springframework.core.type.classreading.SimpleMetadataReaderFactory.getMetadataReader(SimpleMetadataReaderFactory.java:98)    at org.springframework.core.type.classreading.CachingMetadataReaderFactory.getMetadataReader(CachingMetadataReaderFactory.java:102)    at org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider.findCandidateComponents(ClassPathScanningCandidateComponentProvider.java:279)    ... 58 more

Here is Redis configuration:

@Configuration@EnableTransactionManagement@ComponentScan({"com.bison.ams.config", "com.bison.ams.persist"})@EnableRedisRepositoriespublic class RedisConfig {    @Autowired    ConfigProperties configProp;    @Bean    JedisConnectionFactory jedisConnectionFactory() {        JedisConnectionFactory jedisConFactory = new JedisConnectionFactory();        String host = configProp.getConfigValue("redis.host");        String port = configProp.getConfigValue("redis.port");        jedisConFactory.setHostName(host);        jedisConFactory.setPort(Integer.parseInt(port));        return jedisConFactory;    }    @Bean    @Autowired    public RedisTemplate<String, Object> redisTemplate() {        RedisTemplate<String, Object> template = new RedisTemplate<>();        template.setConnectionFactory(jedisConnectionFactory());        return template;    }}

Repository:

@Repositorypublic interface TagPositionRepo extends CrudRepository<TagPosition, String> {}

Entity:

@RedisHash("TagPosition")public class TagPosition implements Serializable {    private String id;    private Position position;...

pom.xml

<properties><java-version>1.8</java-version><org.aspectj-version>1.6.10</org.aspectj-version><jackson.version>1.9.13</jackson.version><hibernate.validator.version>4.2.0.Final</hibernate.validator.version><org.springframework-version>4.2.1.RELEASE</org.springframework-version><!--        <org.springframework-version>4.2.5.RELEASE</org.springframework-version>--><org.slf4j-version>1.6.6</org.slf4j-version><springfox-version>2.2.2</springfox-version></properties><dependencies><dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpclient</artifactId><version>4.5.3</version></dependency><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.15</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>${org.springframework-version}</version></dependency><dependency><groupId>org.springframework.data</groupId><artifactId>spring-data-jpa</artifactId><version>1.7.0.RELEASE</version><exclusions><exclusion><groupId>org.springframework</groupId><artifactId>spring-core</artifactId></exclusion><exclusion><artifactId>spring-context</artifactId><groupId>org.springframework</groupId></exclusion></exclusions></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>${org.springframework-version}</version><exclusions><exclusion><artifactId>spring-context</artifactId><groupId>org.springframework</groupId></exclusion></exclusions></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-log4j</artifactId><version>1.2.5.RELEASE</version><exclusions><exclusion><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-logging</artifactId></exclusion></exclusions></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-core</artifactId><version>${org.springframework-version}</version></dependency><!--<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-log4j2</artifactId><version>3.1.1</version></dependency>    --><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.6.1</version></dependency><!-- security --><dependency><groupId>org.springframework.security</groupId><artifactId>spring-security-web</artifactId><version>4.0.3.RELEASE</version></dependency><dependency><groupId>org.springframework.security</groupId><artifactId>spring-security-config</artifactId><version>4.0.3.RELEASE</version></dependency><!-- Hibernate --><dependency><groupId>org.hibernate</groupId><artifactId>hibernate-validator</artifactId><version>4.2.0.Final</version></dependency><dependency><groupId>org.hibernate</groupId><artifactId>hibernate-entitymanager</artifactId><version>4.2.6.Final</version></dependency><!-- hsql --><dependency><groupId>org.hsqldb</groupId><artifactId>hsqldb</artifactId><version>2.3.0</version></dependency><!-- apache --><dependency><groupId>net.sf.dozer</groupId><artifactId>dozer</artifactId><version>5.4.0</version></dependency><!-- Servlet --><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.0.1</version><scope>provided</scope></dependency><dependency><groupId>javax.servlet.jsp</groupId><artifactId>jsp-api</artifactId><version>2.2</version><scope>provided</scope></dependency><dependency><groupId>javax.servlet</groupId><artifactId>jstl</artifactId><version>1.2</version></dependency><dependency><groupId>org.apache.commons</groupId><artifactId>commons-lang3</artifactId><version>3.0</version></dependency><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.15</version><exclusions><exclusion><groupId>javax.mail</groupId><artifactId>mail</artifactId></exclusion><exclusion><groupId>javax.jms</groupId><artifactId>jms</artifactId></exclusion><exclusion><groupId>com.sun.jdmk</groupId><artifactId>jmxtools</artifactId></exclusion><exclusion><groupId>com.sun.jmx</groupId><artifactId>jmxri</artifactId></exclusion></exclusions><scope>runtime</scope></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.8</version><scope>provided</scope></dependency><dependency><groupId>commons-fileupload</groupId><artifactId>commons-fileupload</artifactId><version>1.3.1</version></dependency><!-- Apache Commons IO --><dependency><groupId>commons-io</groupId><artifactId>commons-io</artifactId><version>2.4</version></dependency><dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><version>${springfox-version}</version></dependency><!-- test --><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.11</version><scope>test</scope></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-test</artifactId><version>${org.springframework-version}</version><scope>test</scope></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>4.1.6.RELEASE</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.31</version></dependency><dependency><groupId>org.modelmapper</groupId><artifactId>modelmapper</artifactId><version>3.1.0</version></dependency><dependency><groupId>org.javassist</groupId><artifactId>javassist</artifactId><version>3.18.2-GA</version></dependency><dependency><groupId>javax.mail</groupId><artifactId>javax.mail-api</artifactId><version>1.5.6</version></dependency><dependency><groupId>com.sun.mail</groupId><artifactId>javax.mail</artifactId><version>1.6.2</version></dependency><dependency><groupId>joda-time</groupId><artifactId>joda-time</artifactId><version>2.9.9</version></dependency><dependency><groupId>com.google.guava</groupId><artifactId>guava</artifactId><version>31.0.1-jre</version></dependency><dependency><groupId>org.eclipse.paho</groupId><artifactId>org.eclipse.paho.client.mqttv3</artifactId><version>1.2.5</version></dependency><dependency><groupId>org.springframework.data</groupId><artifactId>spring-data-redis</artifactId><version>1.8.23.RELEASE</version></dependency><dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>2.9.0</version><type>jar</type></dependency></dependencies>

Viewing all articles
Browse latest Browse all 2204

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>