No need to write or add rules to file in classpath.

This commit is contained in:
Thierry Göckel 2020-07-17 12:55:49 +02:00
parent 4832555343
commit c80cae3fc3

View File

@ -29,8 +29,6 @@ public class DroolsExecutionService {
@Autowired
private KieContainer kieContainer;
private String currentDrlRules;
private long rulesVersion = -1;
public Section executeRules(Section section) {
@ -64,22 +62,15 @@ public class DroolsExecutionService {
KieServices kieServices = KieServices.Factory.get();
InputStream input = new ByteArrayInputStream(drlAsString.getBytes(StandardCharsets.UTF_8));
KieFileSystem kieFileSystem = kieServices.newKieFileSystem();
kieFileSystem.write("src/main/resources/drools/rules.drl", kieServices.getResources()
.newInputStreamResource(input));
kieFileSystem.write(kieServices.getResources().newInputStreamResource(input));
KieBuilder kieBuilder = kieServices.newKieBuilder(kieFileSystem);
kieBuilder.buildAll();
KieModule kieModule = kieBuilder.getKieModule();
kieContainer.updateToVersion(kieModule.getReleaseId());
currentDrlRules = drlAsString;
} catch (Exception e) {
throw new RulesValidationException("Could not update rules", e);
}
}
public String getRules() {
return currentDrlRules;
}
}