This is an automated email from the ASF dual-hosted git repository.
hsluoyz pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/casbin-jcasbin.git
The following commit(s) were added to refs/heads/master by this push:
new b63b9c6 fix: make matched domain view cache safe for concurrent reads
b63b9c6 is described below
commit b63b9c651171b55c451709a7c6eb10e4026ff096
Author: Yang Luo <[email protected]>
AuthorDate: Mon Oct 26 21:18:44 2026 +0800
fix: make matched domain view cache safe for concurrent reads
---
src/main/java/org/casbin/jcasbin/rbac/ConditionalDomainManager.java | 3 ++-
src/main/java/org/casbin/jcasbin/rbac/DomainManager.java | 3 ++-
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git
a/src/main/java/org/casbin/jcasbin/rbac/ConditionalDomainManager.java
b/src/main/java/org/casbin/jcasbin/rbac/ConditionalDomainManager.java
index db4e3e6..1580d24 100644
--- a/src/main/java/org/casbin/jcasbin/rbac/ConditionalDomainManager.java
+++ b/src/main/java/org/casbin/jcasbin/rbac/ConditionalDomainManager.java
@@ -24,6 +24,7 @@ import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.function.BiPredicate;
import java.util.function.Function;
@@ -105,7 +106,7 @@ public class ConditionalDomainManager extends
ConditionalRoleManager {
public void clear() {
super.clear();
this.rmMap = new HashMap<>();
- this.matchedRmMap = new HashMap<>();
+ this.matchedRmMap = new ConcurrentHashMap<>();
this.domainMatchingFuncCache = new SyncedLRUCache<>(100);
}
diff --git a/src/main/java/org/casbin/jcasbin/rbac/DomainManager.java
b/src/main/java/org/casbin/jcasbin/rbac/DomainManager.java
index 131c6ff..dcba04d 100644
--- a/src/main/java/org/casbin/jcasbin/rbac/DomainManager.java
+++ b/src/main/java/org/casbin/jcasbin/rbac/DomainManager.java
@@ -24,6 +24,7 @@ import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.function.BiPredicate;
/**
@@ -114,7 +115,7 @@ public class DomainManager implements RoleManager {
@Override
public void clear() {
this.rmMap = new HashMap<>();
- this.matchedRmMap = new HashMap<>();
+ this.matchedRmMap = new ConcurrentHashMap<>();
this.domainMatchingFuncCache = new SyncedLRUCache<>(100);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]