couchbasesessionrepository需要“com.couchbase.client.java.bucket”类型的bean

kxeu7u2r  于 2021-06-29  发布在  Java
关注(0)|答案(1)|浏览(545)

我试图在其中一个应用程序中使用@enablecouchbasehttpsession将会话存储在couchbase中。

@SpringBootApplication
@EnableCouchbaseHttpSession(keepStringAsLiteral = true)
public class Application {

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }

}

couchbase coniguration@configuration@enablecouchbaserepositories@getter公共类couchbaseconfigurations扩展了abstractcouchbaseconfiguration{

@Value("${couchbase.connectionString}")
    private String connectionString;

    @Value("${couchbase.username}")
    private String userName;

    @Value("${couchbase.password}")
    private String password;

    @Value("${couchbase.bucket}")
    private String bucketName;

}

使用的依赖项

<dependency>
            <groupId>io.github.couchbaselabs</groupId>
            <artifactId>spring-session-data-couchbase</artifactId>
            <version>1.1.1</version>
        </dependency>
<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-couchbase</artifactId>
        </dependency>

启动应用程序后,应用程序不会启动并出现错误
错误日志
启动tomcat上下文时出错。异常:org.springframework.beans.factory.unsatifieddependencyException。消息:创建在类路径资源[org/springframework/boot/autoconfigure/session/sessionrepositoryfilterconfiguration.class]中定义的名为“sessionrepositoryfilterregistration”的bean时出错:通过方法“sessionrepositoryfilterregistration”参数1表示的未满足的依赖关系;嵌套异常为org.springframework.beans.factory.unsatifieddependencyException:创建名为“springsessionrepositoryfilter”的bean时出错,该bean在org.springframework.session.data.couchbase.config.annotation.web.http.couchbasehttpsessionconfiguration:通过方法“springsessionrepositoryfilter”表示未满足的依赖关系参数0;嵌套异常为org.springframework.beans.factory.unsatifieddependencyException:创建名为“couchbasesessionrepository”的bean时出错,该bean在org.springframework.session.data.couchbase.config.annotation.web.http.couchbasehttpsessionconfiguration中定义:通过方法“couchbasesessionrepository”参数表示的未满足的依赖关系0; 嵌套异常为org.springframework.beans.factory.nosuchbeandefinitionexception:没有类型为“com.couchbase.client.java.bucket”的合格bean可用:至少需要1个符合autowire候选的bean。依赖项注解:{}
org.springframework.session.data.couchbase.config.annotation.web.http.couchbasehttpsessionconfiguration中方法couchbasesessionrepository的参数0需要找不到类型为“com.couchbase.client.java.bucket”的bean。操作:考虑在配置中定义一个类型为“com.couchbase.client.java.bucket”的bean。

nbnkbykc

nbnkbykc1#

在应用程序中创建com.couchbase.client.java.bucket类型的bean从SpringBootVersion2.3.x及更高版本(SpringDatacouchbase 4+),bucket bean不再自动配置。

@Configuration
public class CouchbaseBucketConfig {
    private final CouchbaseClientFactory couchbaseClientFactory;

    public CouchbaseBucketConfig(CouchbaseClientFactory couchbaseClientFactory) {
        this.couchbaseClientFactory = couchbaseClientFactory;
    }

    @Bean
    public Bucket bucket(){
        return couchbaseClientFactory.getBucket();
    }
}

在pom.xml中添加“spring session data couchbase”依赖项。请参阅github、couchbase文档。

<dependency>
    <groupId>io.github.couchbaselabs</groupId>
    <artifactId>spring-session-data-couchbase</artifactId>
    <version>1.1.1</version>
</dependency>

这将解决应用程序启动问题。
[期待进一步编辑]

相关问题