Использовать службу класса Java внутри правил

Я хочу объявить класс обслуживания внутри drl-файла для вызова функции, я использовал следующий код, но тогда код не работает после объявления RouteService внутри, когда

RouteService.java

public class RouteService {

@Inject
RouteRepository routeRepository;


public void Save(Route route){
    routeRepository.save(route);
}

.drl файл рулс

when
    $todo : Todo(route.getId() == 5202)
    $routeService : RouteService()
then
    Score $score = new Score();
    $score.setRunid(10);
    $score.setDomain("domain");
    $score.setStatus("Active");
    $score.setValue(52);
    $routeService.save($score);
end     

Может кто-нибудь показать мне, как использовать службу классов Java внутри правил в файле.drl?

1 ответ

  1. первый импортный пользовательский класс обслуживания.
  2. затем установите его как глобальную переменную внутри файла слюни.

import com.intervest.notification.service.RadiusFilterService; global RadiusFilterService radiusFilterService;

правило "ваше имя правила"

когда $ map: Map(); затем Map $originDataMap = (Map) $map.get("originDataMap");Long $hashValue = (Long) $originDataMap.get("запрос") конец

  1. тогда где движок правил определяет.

@Autowired частный RouteService routerService;

kieRuntime.setGlobal("RouteService", RouteService);

Другие вопросы по тегам