Использовать службу класса 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 ответ
- первый импортный пользовательский класс обслуживания.
- затем установите его как глобальную переменную внутри файла слюни.
import com.intervest.notification.service.RadiusFilterService; global RadiusFilterService radiusFilterService;
правило "ваше имя правила"
когда $ map: Map(); затем Map $originDataMap = (Map) $map.get("originDataMap");Long $hashValue = (Long) $originDataMap.get("запрос") конец
- тогда где движок правил определяет.
@Autowired частный RouteService routerService;
kieRuntime.setGlobal("RouteService", RouteService);