akka/akka-http

Replace ExecutionContextExecutor from scaladsl

Open

#2,598 opened on Jul 16, 2019

View on GitHub
 (1 comment) (0 reactions) (0 assignees)Scala (598 forks)batch import
1 - triagedhelp wantedt:routingtechnical-debt

Repository metrics

Stars
 (1,311 stars)
PR merge metrics
 (Avg merge 1d 10h) (2 merged PRs in 30d)

Description

Especially, implicit ExecutionContextExecutor parameters should be replaced as they will never picked up (no one would provide such an implicit by default).

It seems, the ExecutionContext was changed to ExecutionContextExecutor in https://github.com/akka/akka/pull/19578 in an attempt to provide it to the javadsl.

I'd suggest:

  • We deprecate all methods that take an implicit ExecutionContextExecutor and replace them with ones that take an ExecutionContext
  • We need to decide how get an ExecutionContextExecutor out of an ExecutionContext where needed. We could either expect all instances to also be a ExecutionContextExecutor and WARN or fail otherwise, or we could wrap instances otherwise to provide the necessary Executor API for the javadsl side of things.
  • Not sure if we can do something about the very public API of scaladsl RequestContext.executionContext so maybe we need to keep it.

Contributor guide