Spring数据Couchbase和Spring数据MongoDB同时使用
我想同时使用SpringDataCouchbase和SpringDataMongoDB。 但它发生了错误,它们都定义了自定义转换。 那怎么办呢 这是stacktraceSpring数据Couchbase和Spring数据MongoDB同时使用,spring,spring-data,couchbase,Spring,Spring Data,Couchbase,我想同时使用SpringDataCouchbase和SpringDataMongoDB。 但它发生了错误,它们都定义了自定义转换。 那怎么办呢 这是stacktrace Caused by: java.lang.ClassCastException: org.springframework.data.mongodb.core.convert.CustomConversions cannot be cast to org.springframework.data.couchbase.core.co
Caused by: java.lang.ClassCastException: org.springframework.data.mongodb.core.convert.CustomConversions cannot be cast to org.springframework.data.couchbase.core.convert.CustomConversions
at com.*.*.config.dev.DevelopmentCouchbaseConfig$$EnhancerBySpringCGLIB$$64a18d5.customConversions(<generated>)
at org.springframework.data.couchbase.config.AbstractCouchbaseConfiguration.couchbaseMappingContext(AbstractCouchbaseConfiguration.java:157)
at com.*.*.config.dev.DevelopmentCouchbaseConfig$$EnhancerBySpringCGLIB$$64a18d5.CGLIB$couchbaseMappingContext$13(<generated>)
at com.*.*.config.dev.DevelopmentCouchbaseConfig$$EnhancerBySpringCGLIB$$64a18d5$$FastClassBySpringCGLIB$$7675b050.invoke(<generated>)
at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228)
at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:309)
at com.*.*.config.dev.DevelopmentCouchbaseConfig$$EnhancerBySpringCGLIB$$64a18d5.couchbaseMappingContext(<generated>)
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:497)
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:162)
... 65 more
原因:java.lang.ClassCastException:org.springframework.data.mongodb.core.convert.CustomConversions无法转换为org.springframework.data.couchbase.core.convert.CustomConversions
在com.*.config.dev.DevelopmentCouchbaseConfig$$EnhancerBySpringCGLIB$$64a18d5.customConversions()上
位于org.springframework.data.couchbase.config.AbstractCouchbaseConfiguration.couchbaseMappingContext(AbstractCouchbaseConfiguration.java:157)
在com.*.config.dev.DevelopmentCouchbaseConfig$$EnhancerBySpringCGLIB$$64a18d5.CGLIB$couchbaseMappingContext$13()
在com.*.config.dev.DevelopmentCouchbaseConfig$$EnhancerBySpringCGLIB$$64a18d5$$FastClassBySpringCGLIB$$7675b050.invoke()
位于org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228)
位于org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:309)
在com.*.config.dev.DevelopmentCouchbaseConfig$$EnhancerBySpringCGLIB$$64a18d5.couchbaseMappingContext()上
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处
位于sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)中
位于java.lang.reflect.Method.invoke(Method.java:497)
位于org.springframework.beans.factory.support.SimpleInstallationStrategy.instantiate(SimpleInstallationStrategy.java:162)
... 65多
我找到了一条路:
只需重写并重命名bean
这是Couchbase配置:
public class CouchbaseConfig extends AbstractCouchbaseConfiguration {
@Override
@Bean(name = "couchbaseConversions")
public CustomConversions customConversions() {
return new CustomConversions(Collections.emptyList());
}
}
这是MongoDB配置:
public class MongoDBConfig extends AbstractMongoConfiguration {
@Override
@Bean(name = "mongoDBConversions")
public CustomConversions customConversions() {
return new CustomConversions(Collections.emptyList());
}
}
谢谢。我想办法:
只需重写并重命名bean
这是Couchbase配置:
public class CouchbaseConfig extends AbstractCouchbaseConfiguration {
@Override
@Bean(name = "couchbaseConversions")
public CustomConversions customConversions() {
return new CustomConversions(Collections.emptyList());
}
}
这是MongoDB配置:
public class MongoDBConfig extends AbstractMongoConfiguration {
@Override
@Bean(name = "mongoDBConversions")
public CustomConversions customConversions() {
return new CustomConversions(Collections.emptyList());
}
}
谢谢。我想办法:
只需重写并重命名bean
这是Couchbase配置:
public class CouchbaseConfig extends AbstractCouchbaseConfiguration {
@Override
@Bean(name = "couchbaseConversions")
public CustomConversions customConversions() {
return new CustomConversions(Collections.emptyList());
}
}
这是MongoDB配置:
public class MongoDBConfig extends AbstractMongoConfiguration {
@Override
@Bean(name = "mongoDBConversions")
public CustomConversions customConversions() {
return new CustomConversions(Collections.emptyList());
}
}
谢谢。我想办法:
只需重写并重命名bean
这是Couchbase配置:
public class CouchbaseConfig extends AbstractCouchbaseConfiguration {
@Override
@Bean(name = "couchbaseConversions")
public CustomConversions customConversions() {
return new CustomConversions(Collections.emptyList());
}
}
这是MongoDB配置:
public class MongoDBConfig extends AbstractMongoConfiguration {
@Override
@Bean(name = "mongoDBConversions")
public CustomConversions customConversions() {
return new CustomConversions(Collections.emptyList());
}
}
谢谢。您能提供错误信息和stacktrace吗?好的,我编辑它@JeffryMorris你能提供错误信息和stacktrace吗?好的,我编辑它@JeffryMorris你能提供错误信息和stacktrace吗?好的,我编辑它@JeffryMorris你能提供错误信息和stacktrace吗?好的,我编辑它@杰弗里莫里斯