Quarkus Amazon Lambda Kotlin Неудачный ввод - PullRequest
0 голосов
/ 28 сентября 2019

Не удается внедрить аннотацию @Inject для службы, определяемой «@ApplicationScope», в Kotlin.

«kotlin.UninitializedPropertyAccessException: обработчик свойства lateinit не был инициализирован"

Объяснениена похожий вопрос: «Эта проблема возникает в результате сочетания того, как Kotlin обрабатывает аннотации, и отсутствия определения аннотации a @Target в ... ... Add @field: xxx»

Вопрос в том, как мнесделать эту работу для внедрения службы?

import com.amazonaws.services.lambda.runtime.Context
import com.amazonaws.services.lambda.runtime.RequestHandler
import javax.enterprise.context.ApplicationScoped
import javax.inject.Inject


class HelloRequest() {
    var firstName: String? = null
    var lastName: String? = null
}

@ApplicationScoped
open class HelloGreeter() {
    open fun greet(firstName: String?, lastName: String?): String {
        return "$firstName, $lastName"
    }
}

class HelloLambda : RequestHandler<HelloRequest, String> {

    @Inject
    lateinit var greeter: HelloGreeter

    override fun handleRequest(request: HelloRequest, context: Context): String {
        return greeter.greet(request.firstName, request.lastName)
    }
}

Подобные вопросы: «Эта проблема возникает как сочетание того, как Kotlin обрабатывает аннотации, и отсутствия @Target в определении аннотации ... Add @поле: xxx "

Ошибка при вводе некоторой зависимости с kotlin + quarkus Отправитель сообщений SmallRye Reactive Messaging <>. send не отправляет в Kotlin через брокера AMQP с Quarkus
...