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() {