[REDIS] JedisPoolConfig는 GenericObjectPoolConfig에 할당 할 수없는
REDISJedisPoolConfig는 GenericObjectPoolConfig에 할당 할 수없는
나는 Heroku가에서 호스팅되는 스프링 기반의 자바 웹 응용 프로그램이 있습니다. 나는 레디 스 구현을 사용하여 봄 캐싱 추상화를 활용하려고 시도하고있다. 서버가 시작되면, 내가 말하는 오류가 발생합니다 :
Type 'redis/clients/jedis/JedisPoolConfig' (current frame, stack[3]) is not assignable to 'org/apache/commons/pool2/impl/GenericObjectPoolConfig'
@Bean
RedisConnectionFactory jedisConnectionFactory() throws Exception {
URI redisUri = new URI(System.getenv("REDISCLOUD_URL"));
JedisConnectionFactory redisConnectionFactory = new JedisConnectionFactory();
redisConnectionFactory.setHostName(redisUri.getHost());
redisConnectionFactory.setPort(redisUri.getPort());
redisConnectionFactory.setPassword(redisUri.getUserInfo().split(":",2)[1]);
redisConnectionFactory.setUsePool(true);
return redisConnectionFactory;
}
@Bean
RedisTemplate<Object, Object> redisTemplate() {
RedisTemplate<Object, Object> redisTemplate = new RedisTemplate<Object, Object>();
try {
redisTemplate.setConnectionFactory(jedisConnectionFactory());
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return redisTemplate;
}
@Override
@Bean
public CacheManager cacheManager() {
// configure and return an implementation of Spring's CacheManager SPI
RedisCacheManager manager = new RedisCacheManager(redisTemplate());
List<String> caches = new ArrayList<String>();
caches.add("Suppliers");
caches.add("Manufacturer");
caches.add("Sheeting");
caches.add("SignTypeFlat");
manager.setCacheNames(caches);
return manager;
}
Caused by: org.springframework.beans.factory.BeanDefinitionStoreException: Factory m ethod [org.springframework.data.redis.connection.RedisConnectionFactory com.signInventory.config.ProdDataSourceConfiguration.jedisConnectionFactory() throws java.lang.Exception] threw exception; nested exception is java.lang.VerifyError: Bad type on operand stack Exception Details: Location:
org/springframework/data/redis/connection/jedis/JedisConnectionFactory.afterPropertiesSet()V @109: invokespecial Reason:
Type 'redis/clients/jedis/JedisPoolConfig' (current frame, stack[3]) is not assignable to 'org/apache/commons/pool2/impl/GenericObjectPoolConfig' Current Frame:
bci: @109
flags: { }
locals: { 'org/springframework/data/redis/connection/jedis/JedisConnectionFactory' }
stack: { 'org/springframework/data/redis/connection/jedis/JedisConnectionFactory', uninitialized 73, uninitialized 73, 'redis/clients/jedis/JedisPoolConfig', 'java/lang/String', integer, integer, 'java/lang/String' } Bytecode:
0000000: 2ab4 000d c700 3d2a bb00 1759 2ab4 0003
0000010: 2ab4 0004 b700 18b5 000d 2ab4 0019 b800
0000020: 1a99 000e 2ab4 000d 2ab4 0019 b600 1b2a
0000030: b400 059e 000e 2ab4 000d 2ab4 0005 b600
0000040: 1c2a b400 0699 002e 2abb 001d 592a b400
0000050: 0a2a b400 0db6 001e 2ab4 000d b600 1f2a
0000060: b400 0db6 0020 2ab4 000d b600 21b7 0022
0000070: b500 07b1 Stackmap Table:
same_frame(@47)
same_frame(@65)
same_frame(@115) at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:181) at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:578) ... 36 more Caused by: java.lang.VerifyError: Bad type on operand stack Exception Details: Location:
org/springframework/data/redis/connection/jedis/JedisConnectionFactory.afterPropertiesSet()V @109: invokespecial Reason:
Type 'redis/clients/jedis/JedisPoolConfig' (current frame, stack[3]) is not assignable to 'org/apache/commons/pool2/impl/GenericObjectPoolConfig' Current Frame:
bci: @109
flags: { }
locals: { 'org/springframework/data/redis/connection/jedis/JedisConnectionFactory' }
stack: { 'org/springframework/data/redis/connection/jedis/JedisConnectionFactory', uninitialized 73, uninitialized 73, 'redis/clients/jedis/JedisPoolConfig', 'java/lang/String', integer, integer, 'java/lang/String' } Bytecode:
0000000: 2ab4 000d c700 3d2a bb00 1759 2ab4 0003
0000010: 2ab4 0004 b700 18b5 000d 2ab4 0019 b800
0000020: 1a99 000e 2ab4 000d 2ab4 0019 b600 1b2a
0000030: b400 059e 000e 2ab4 000d 2ab4 0005 b600
0000040: 1c2a b400 0699 002e 2abb 001d 592a b400
0000050: 0a2a b400 0db6 001e 2ab4 000d b600 1f2a
0000060: b400 0db6 0020 2ab4 000d b600 21b7 0022
0000070: b500 07b1 Stackmap Table:
same_frame(@47)
same_frame(@65)
same_frame(@115) at com.signInventory.config.ProdDataSourceConfiguration.jedisConnectionFactory(ProdDataSourceConfiguration.java:46) at com.signInventory.config.ProdDataSourceConfiguration$$EnhancerByCGLIB$$258faa2b.CGLIB$jedisConnectionFactory$8(<generated>) at com.signInventory.config.ProdDataSourceConfiguration$$EnhancerByCGLIB$$258faa2b$$FastClassByCGLIB$$b4f3aedd.invoke(<generated>) at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228) at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:286) at com.signInventory.config.ProdDataSourceConfiguration$$EnhancerByCGLIB$$258faa2b.jedisConnectionFactory(<generated>) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:160) ... 37 more
어떤 도움을 크게 감상 할 수있다.
감사!
해결법
-
==============================
1.나는 봄 데이터 레디 스의 V1.2.1-RELEASE로 업그레이드 정확히 같은 문제가 있었다. v2.4.2을 - 나는 최신 버전으로 Jedis를 업그레이드 한 후 문제를 해결했다. 당신은 메이븐을 사용하는 경우 다음 종속성을 확인합니다.
나는 봄 데이터 레디 스의 V1.2.1-RELEASE로 업그레이드 정확히 같은 문제가 있었다. v2.4.2을 - 나는 최신 버전으로 Jedis를 업그레이드 한 후 문제를 해결했다. 당신은 메이븐을 사용하는 경우 다음 종속성을 확인합니다.
<properties> <spring.data.redis>1.2.1.RELEASE</spring.data.redis> <jedis>2.4.2</jedis> </properties> <dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-redis</artifactId> <version>${spring.data.redis}</version> </dependency> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>${jedis}</version> </dependency>
도움이 되었기를 바랍니다 :)
-
==============================
2.당신은 아파치 평민 - pool2 라이브러리에 대한 참조를 추가해야합니다. :이 추가 단지 사건이었다, 그래서 우리는, SBT를 사용하고 - 나는 스칼라 프로젝트에 같은 문제가 있었다
당신은 아파치 평민 - pool2 라이브러리에 대한 참조를 추가해야합니다. :이 추가 단지 사건이었다, 그래서 우리는, SBT를 사용하고 - 나는 스칼라 프로젝트에 같은 문제가 있었다
"org.apache.commons" % "commons-pool2" % "2.0"
당신이 자바를 사용하는 것처럼 내가 더 같이 아마 기대 그래서, 당신은 메이븐을 사용하고있는 (검증되지 않은 - 소금 한 스푼으로 가져가!)
<dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-pool2</artifactId> <version>2.0</version> </dependency>
-
==============================
3.분명히, 이것은 JDK 컴파일러 버그 # 8006684입니다
분명히, 이것은 JDK 컴파일러 버그 # 8006684입니다
또한 taskdef java.lang.VerifyError 참조 : 피연산자 스택에 나쁜 유형을 팀 CITY 빌드를 실행할 때
-
==============================
4.경우에는 누군가가 여기 2.x.x을 설명 스레드가되는 봄 부팅 1.5.x 이하에서 인해 마이그레이션에 직면. 또한이 링크를 참조하시기 바랍니다
경우에는 누군가가 여기 2.x.x을 설명 스레드가되는 봄 부팅 1.5.x 이하에서 인해 마이그레이션에 직면. 또한이 링크를 참조하시기 바랍니다
from https://stackoverflow.com/questions/22704518/jedispoolconfig-is-not-assignable-to-genericobjectpoolconfig by cc-by-sa and MIT license
'REDIS' 카테고리의 다른 글
[REDIS] 그들은 실시간 추가로 어떻게 레디 스의 개체를 팝업 할 수 있습니까? (0) | 2020.01.18 |
---|---|
[REDIS] 레디 스 (오류) ERR 작업이 허용되지 않습니다 (0) | 2020.01.18 |
[REDIS] Node.js를, (안녕) 레디 스 및 멀티 명령 (0) | 2020.01.18 |
[REDIS] 이전의 것들에 의존하는 파이프 라인의 여러 명령을 레디 스 수 있습니까? (0) | 2020.01.18 |
[REDIS] 인 - 교통 암호화와 AWS ElastiCache에 연결 (0) | 2020.01.18 |