This is an automated email from the ASF dual-hosted git repository.
tzimanyi pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-kie-drools.git
The following commit(s) were added to refs/heads/main by this push:
new 35ba0a144f [kie-issues#1154] Make KieSession auto-closeable (#5890)
35ba0a144f is described below
commit 35ba0a144f1b077c0a85bfaf7b142559b67e5c85
Author: Tibor Zimányi <[email protected]>
AuthorDate: Tue May 7 12:36:07 2024 +0200
[kie-issues#1154] Make KieSession auto-closeable (#5890)
---
.../drools/ancompiler/AlphaNetworkCompilerTest.java | 5 +----
.../drools/ancompiler/LargeAlphaNetworkTest.java | 21 +++++++++------------
.../org/drools/ancompiler/MixedConstraintsTest.java | 21 +++++++++------------
.../MultipleIndexableConstraintsTest.java | 21 +++++++++------------
.../main/java/org/kie/api/runtime/KieSession.java | 11 ++++++++++-
5 files changed, 38 insertions(+), 41 deletions(-)
diff --git
a/drools-alphanetwork-compiler/src/test/java/org/drools/ancompiler/AlphaNetworkCompilerTest.java
b/drools-alphanetwork-compiler/src/test/java/org/drools/ancompiler/AlphaNetworkCompilerTest.java
index 2a7b1c483a..4491f39eac 100644
---
a/drools-alphanetwork-compiler/src/test/java/org/drools/ancompiler/AlphaNetworkCompilerTest.java
+++
b/drools-alphanetwork-compiler/src/test/java/org/drools/ancompiler/AlphaNetworkCompilerTest.java
@@ -453,12 +453,9 @@ public class AlphaNetworkCompilerTest extends
BaseModelTest {
"then\n" +
"end";
- KieSession ksession = getKieSession(str);
- try {
+ try (KieSession ksession = getKieSession(str)) {
ksession.insert(new Person("Mario", 45));
assertThat(ksession.fireAllRules()).isEqualTo(0);
- } finally {
- ksession.dispose();
}
}
diff --git
a/drools-alphanetwork-compiler/src/test/java/org/drools/ancompiler/LargeAlphaNetworkTest.java
b/drools-alphanetwork-compiler/src/test/java/org/drools/ancompiler/LargeAlphaNetworkTest.java
index 39cf059f7f..ce1bb10992 100644
---
a/drools-alphanetwork-compiler/src/test/java/org/drools/ancompiler/LargeAlphaNetworkTest.java
+++
b/drools-alphanetwork-compiler/src/test/java/org/drools/ancompiler/LargeAlphaNetworkTest.java
@@ -43,21 +43,18 @@ public class LargeAlphaNetworkTest extends BaseModelTest {
rule.append(ruleWithIndex(i));
}
- KieSession ksession = getKieSession(rule.toString());
- ArrayList<Object> results = new ArrayList<>();
- ksession.setGlobal("results", results);
- Person a = new Person("a", 1);
- Person b = new Person("b", 0);
- Person c = new Person("a", 7);
- ksession.insert(a);
- ksession.insert(b);
- ksession.insert(c);
+ try (KieSession ksession = getKieSession(rule.toString())) {
+ ArrayList<Object> results = new ArrayList<>();
+ ksession.setGlobal("results", results);
+ Person a = new Person("a", 1);
+ Person b = new Person("b", 0);
+ Person c = new Person("a", 7);
+ ksession.insert(a);
+ ksession.insert(b);
+ ksession.insert(c);
- try {
ksession.fireAllRules();
assertThat(results).contains(a, b, c);
- } finally {
- ksession.dispose();
}
}
diff --git
a/drools-alphanetwork-compiler/src/test/java/org/drools/ancompiler/MixedConstraintsTest.java
b/drools-alphanetwork-compiler/src/test/java/org/drools/ancompiler/MixedConstraintsTest.java
index 86a5691de7..ac6321acca 100644
---
a/drools-alphanetwork-compiler/src/test/java/org/drools/ancompiler/MixedConstraintsTest.java
+++
b/drools-alphanetwork-compiler/src/test/java/org/drools/ancompiler/MixedConstraintsTest.java
@@ -46,21 +46,18 @@ public class MixedConstraintsTest extends BaseModelTest {
rule.append(ruleWithIndex(i));
}
- KieSession ksession = getKieSession(rule.toString());
- ArrayList<Object> results = new ArrayList<>();
- ksession.setGlobal("results", results);
- Person a = new Person("a", 1);
- Person b = new Person("b", 0);
- Person c = new Person("a", 7);
- ksession.insert(a);
- ksession.insert(b);
- ksession.insert(c);
+ try (KieSession ksession = getKieSession(rule.toString())) {
+ ArrayList<Object> results = new ArrayList<>();
+ ksession.setGlobal("results", results);
+ Person a = new Person("a", 1);
+ Person b = new Person("b", 0);
+ Person c = new Person("a", 7);
+ ksession.insert(a);
+ ksession.insert(b);
+ ksession.insert(c);
- try {
ksession.fireAllRules();
assertThat(results).contains(a, b, c);
- } finally {
- ksession.dispose();
}
}
diff --git
a/drools-alphanetwork-compiler/src/test/java/org/drools/ancompiler/MultipleIndexableConstraintsTest.java
b/drools-alphanetwork-compiler/src/test/java/org/drools/ancompiler/MultipleIndexableConstraintsTest.java
index 9f5765d3b5..431c4bce88 100644
---
a/drools-alphanetwork-compiler/src/test/java/org/drools/ancompiler/MultipleIndexableConstraintsTest.java
+++
b/drools-alphanetwork-compiler/src/test/java/org/drools/ancompiler/MultipleIndexableConstraintsTest.java
@@ -45,21 +45,18 @@ public class MultipleIndexableConstraintsTest extends
BaseModelTest {
rule.append(ruleWithIndex(i));
}
- KieSession ksession = getKieSession(rule.toString());
- ArrayList<Object> results = new ArrayList<>();
- ksession.setGlobal("results", results);
- Person a = new Person("a", 1);
- Person b = new Person("b", 0);
- Person c = new Person("a", 7);
- ksession.insert(a);
- ksession.insert(b);
- ksession.insert(c);
+ try (KieSession ksession = getKieSession(rule.toString())) {
+ ArrayList<Object> results = new ArrayList<>();
+ ksession.setGlobal("results", results);
+ Person a = new Person("a", 1);
+ Person b = new Person("b", 0);
+ Person c = new Person("a", 7);
+ ksession.insert(a);
+ ksession.insert(b);
+ ksession.insert(c);
- try {
ksession.fireAllRules();
assertThat(results).contains(a, b, c);
- } finally {
- ksession.dispose();
}
}
diff --git a/kie-api/src/main/java/org/kie/api/runtime/KieSession.java
b/kie-api/src/main/java/org/kie/api/runtime/KieSession.java
index 7c6267f377..13d6d4ad10 100644
--- a/kie-api/src/main/java/org/kie/api/runtime/KieSession.java
+++ b/kie-api/src/main/java/org/kie/api/runtime/KieSession.java
@@ -94,7 +94,8 @@ public interface KieSession
StatefulRuleSession,
StatefulProcessSession,
CommandExecutor,
- KieRuntime {
+ KieRuntime,
+ AutoCloseable {
/**
* Deprecated. use {@link #getIdentifier()} instead
@@ -114,6 +115,14 @@ public interface KieSession
*/
void dispose();
+ /**
+ * Disposes the KieSession when used as AutoClosable. Wrapper method that
calls {@link #dispose()}.
+ * To see more details, please see documentation on the method {@link
#dispose()}.
+ */
+ @Override
+ default void close() {
+ dispose();
+ }
/**
* Destroys session permanently. In case of session state being persisted
in data store
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]