Новое в Котлине. Я использую Apache Camel и создал маршрут с использованием process
преобразователя, например, так:
from("snmp:blahblah...")
.routeId("CamelSnmpRoute")
...
.process { <<< Here
logger.debug("Log stuff")
}
Ошибка:
Overload resolution ambiguity. All these functions match.
* public final fun process(processor: (() -> Processor!)!): RouteDefinition! defined in org.apache.camel.model.RouteDefinition
* public final fun process(processor: ((exchange: Exchange!) -> Unit)!): RouteDefinition! defined in org.apache.camel.model.RouteDefinition
Я пытался сделать .process { () ->
, но это не такТочно так, говоря, что он ожидает имя в скобках. В то же время, я могу обойти ошибку, используя .process { exchange ->
и не используя exchange
var, или создавая logProcessor var и передавая его:
.process(logProcessor)
}
private var logProcessor: Processor = Processor {
logger.debug("Logging stuff")
}
Может кто-нибудь сказать мне, как встроитьэта переменная, чтобы не создавать неоднозначность, или избыточная переменная?