簡體   English   中英

如何使用隱式 ExecutionContext 參數自動裝配服務

[英]How to autowire service with implicit ExecutionContext argument

在我從事的 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: {}

導入這個:

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

並在您的配置( @Configuration )中添加這個

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

並且ExecutionContext bean 將被添加到 Spring 上下文中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM