Я запускаю работу Spark, которая выполняет несколько Http-вызовов по линии. Я решил использовать библиотеку Sttp
, для которой требуется implicit
Http-сервер, в моем случае HttpURLConnectionBackend()
: объект apply, создающий новый экземпляр класса, который не сериализуемый.
trait ApiUtils extends MediaTypes {
implicit val backend: SttpBackend[Identity, Nothing, NothingT] = HttpURLConnectionBackend()
def post = { ...
Как следствие, поскольку мое задание Spark расширяет этот trait
, все методы из этого trait
внутри задания Spark недоступны для исполнителей.
Как довольноБезмозглый обходной путь, я сделал val
a def
, но каков рекомендуемый способ сортировки этих вещей?
Само задание Spark - class
, а не object
. Причиной этого является насмешка / заглушка упомянутого бэкэнда Http внутри тестов.