[обновлено] Как видно из заголовка, функция внедрения ignite не работает на моих сервисах.
Мой код интерфейса службы тривиален
trait FeederService extends Service with Logging{
@IgniteInstanceResource protected var ignite: Ignite = _
// log.info(s"ignite instance: ${ignite.toString}")
def runNewFeeders(qty: Int)
}
Вот моя реализация службы
override def init(ctx: ServiceContext): Unit = {
log.info(s"Initializing service ${ctx.name()}")
log.info(s"ignite instance: ${ignite.toString}")
}
Этот код дает сбой, поскольку объект воспламенения равен нулю.
Мое развертывание службы в основном следующее (я, конечно, могу получить доступ к объекту Ignite в основном методе)
ignite.services(clientGroup).deployNodeSingleton("feeder-swarm",
new FeederServiceImpl())
Не знаю, связано ли это, ноclientGroup извлекается с помощью
val clientGroup = ignite.cluster().forAttribute("client", "true")
Поскольку я не использую определение клиента Ignite для своих узлов (все они являются серверами с точки зрения Ignite)
Любая помощь?Спасибо