2015-06-19 84 views
0

我想同時使用Spring Data Couchbase和Spring Data MongoDB。 但它有錯誤發生,它們都定義了自定義轉換的豆。 那麼,怎麼處理呢?Spring Data Couchbase和Spring Data MongoDB同時使用

這是堆棧跟蹤

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 
+0

您能否提供錯誤信息和堆棧跟蹤? – jeffrymorris

+0

好吧,我編輯它。 @jeffrymorris – zhsyourai

回答

2

我找到辦法:

只需重寫和重新命名的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()); 
    } 
} 

感謝。

相關問題