diff --git a/spring-drools/pom.xml b/spring-drools/pom.xml index de2ccd882b..239c0c065c 100644 --- a/spring-drools/pom.xml +++ b/spring-drools/pom.xml @@ -14,42 +14,10 @@ - 1.1.1.RELEASE - 4.0-alpha6 7.0.0.Final - 3.13 + 4.3.3.RELEASE - - - - io.spring.platform - platform-bom - ${spring-boot-version} - pom - import - - - - - org.springframework.boot - spring-boot-starter-web - - - - org.springframework.boot - spring-boot-starter-test - test - - - org.springframework.boot - spring-boot-starter-actuator - - - org.apache.httpcomponents - httpcore - ${http-component-version} - org.kie @@ -61,7 +29,6 @@ drools-decisiontables ${drools-version} - org.drools drools-core @@ -72,54 +39,18 @@ drools-compiler ${drools-version} - - org.apache.poi - poi - ${apache-poi-version} - - - org.apache.poi - poi-ooxml - ${apache-poi-version} - + org.kie kie-spring - 7.0.0.Final - - - org.springframework - spring-tx - - - org.springframework - spring-beans - - - org.springframework - spring-core - - - org.springframework - spring-context - - + ${drools-version} + + + org.springframework + spring-test + ${spring-framework.version} + test - - - - org.springframework.boot - spring-boot-maven-plugin - - - - repackage - - - - - - \ No newline at end of file diff --git a/spring-drools/src/main/java/com/baeldung/spring/drools/service/TaxiFareCalculatorService.java b/spring-drools/src/main/java/com/baeldung/spring/drools/service/TaxiFareCalculatorService.java index 4279643339..0407eff5d9 100644 --- a/spring-drools/src/main/java/com/baeldung/spring/drools/service/TaxiFareCalculatorService.java +++ b/spring-drools/src/main/java/com/baeldung/spring/drools/service/TaxiFareCalculatorService.java @@ -1,5 +1,6 @@ package com.baeldung.spring.drools.service; +import org.kie.api.runtime.KieContainer; import org.kie.api.runtime.KieSession; import org.springframework.beans.factory.annotation.Autowired; @@ -9,9 +10,10 @@ import com.baeldung.spring.drools.model.TaxiRide; public class TaxiFareCalculatorService { @Autowired - private KieSession kieSession; + private KieContainer kieContainer; public Long calculateFare(TaxiRide taxiRide, Fare rideFare) { + KieSession kieSession = kieContainer.newKieSession(); kieSession.setGlobal("rideFare", rideFare); kieSession.insert(taxiRide); kieSession.fireAllRules(); diff --git a/spring-drools/src/main/java/com/baeldung/spring/drools/service/TaxiFareConfiguration.java b/spring-drools/src/main/java/com/baeldung/spring/drools/service/TaxiFareConfiguration.java index 69c910f84d..5c8965991f 100644 --- a/spring-drools/src/main/java/com/baeldung/spring/drools/service/TaxiFareConfiguration.java +++ b/spring-drools/src/main/java/com/baeldung/spring/drools/service/TaxiFareConfiguration.java @@ -16,7 +16,7 @@ public class TaxiFareConfiguration { public static final String drlFile = "TAXI_FARE_RULE.drl"; @Bean - public KieSession kieSession() { + public KieContainer kieSession() { KieServices kieServices = KieServices.Factory.get(); KieFileSystem kieFileSystem = kieServices.newKieFileSystem(); @@ -26,9 +26,8 @@ public class TaxiFareConfiguration { KieModule kieModule = kieBuilder.getKieModule(); KieContainer kContainer = kieServices.newKieContainer(kieModule.getReleaseId()); - KieSession ksession = kContainer.newKieSession(); - return ksession; + return kContainer; } @Bean diff --git a/spring-drools/src/test/java/com/baeldung/spring/drools/service/TaxiFareCalculatorServiceTest.java b/spring-drools/src/test/java/com/baeldung/spring/drools/service/TaxiFareCalculatorServiceTest.java index b8e105a785..5569772c48 100644 --- a/spring-drools/src/test/java/com/baeldung/spring/drools/service/TaxiFareCalculatorServiceTest.java +++ b/spring-drools/src/test/java/com/baeldung/spring/drools/service/TaxiFareCalculatorServiceTest.java @@ -4,6 +4,7 @@ import org.junit.Assert; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.test.context.ContextConfiguration; @@ -14,17 +15,11 @@ import com.baeldung.spring.drools.model.TaxiRide; import com.baeldung.spring.drools.model.Fare; @RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration(loader = AnnotationConfigContextLoader.class) +@ContextConfiguration(classes = TaxiFareConfiguration.class) public class TaxiFareCalculatorServiceTest { - ApplicationContext context = null; - TaxiFareCalculatorService taxiFareCalculatorService = null; - - @Before - public void init() { - context = new AnnotationConfigApplicationContext(TaxiFareConfiguration.class); - taxiFareCalculatorService = (TaxiFareCalculatorService) context.getBean(TaxiFareCalculatorService.class); - } + @Autowired + TaxiFareCalculatorService taxiFareCalculatorService; @Test public void testCalculateFareScenario1() {