如何使用隐式ExecutionContext参数自动装配服务

问题描述 投票:2回答:1

在我从事的Scala项目中,我们有一个API可以像这样早期导入全局执行上下文

import scala.concurrent.ExecutionContext.Implicits.global

稍后,我创建一个需要上述执行上下文的UserStorageService。我试图将Spring Annotations引入到我的应用程序中,但是我却陷入了如何处理执行上下文的困境。如何自动连接隐式变量?我已经尝试过此]

class UserStorageService(
  @Qualifier("userdb") val databaseConnector: DatabaseConnector
)(implicit executionContext: ExecutionContext) extends UserStorageTable {

我正在尝试成为]

private val userStorageService = appContext.getBean(classOf[UserStorageService])

导致

Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: 
No qualifying bean of type 'scala.concurrent.ExecutionContext' available: 
expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {}

[在一个我从事的Scala项目中,我们有一个API,它像早期那样导入了全局执行上下文,例如import scala.concurrent.ExecutionContext.Implicits.global,我后来创建了一个UserStorageService ...] >>

< [
导入此:

import scala.concurrent.ExecutionContext; import scala.concurrent.ExecutionContext$;

并且在您的配置(@Configuration)中添加此

@Bean public ExecutionContext getExecutionContext() { return ExecutionContext$.MODULE$.global(); }

[ExecutionContext bean将被添加到Spring上下文中。
java spring scala
1个回答
0
投票
导入此:
© www.soinside.com 2019 - 2024. All rights reserved.