From d9a07ffb8dc1af290be6bc9b4978ad21c6797a3f Mon Sep 17 00:00:00 2001 From: Milton Ch <86965029+Milton-Ch@users.noreply.github.com> Date: Fri, 15 Jul 2022 16:24:11 -0400 Subject: [PATCH] feat: added config to disable attempt to update before insert in cache (#1787) --- .../cache/NativePersistenceCacheProvider.java | 3 +++ .../cache/NativePersistenceConfiguration.java | 17 +++++++++++++++-- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/jans-core/cache/src/main/java/io/jans/service/cache/NativePersistenceCacheProvider.java b/jans-core/cache/src/main/java/io/jans/service/cache/NativePersistenceCacheProvider.java index 90c8a4438a5..efffcdb14c4 100644 --- a/jans-core/cache/src/main/java/io/jans/service/cache/NativePersistenceCacheProvider.java +++ b/jans-core/cache/src/main/java/io/jans/service/cache/NativePersistenceCacheProvider.java @@ -82,6 +82,9 @@ public void create() { // CouchbaseEntryManagerFactory.PERSISTENCE_TYPE skipRemoveBeforePut = "couchbase".equals(persistenceType); attemptUpdateBeforeInsert = "sql".equals(persistenceType); + if (cacheConfiguration.getNativePersistenceConfiguration().isDisableAttemptUpdateBeforeInsert()) { + attemptUpdateBeforeInsert = false; + } log.info("Created NATIVE_PERSISTENCE cache provider. `baseDn`: " + baseDn); } catch (Exception e) { diff --git a/jans-core/cache/src/main/java/io/jans/service/cache/NativePersistenceConfiguration.java b/jans-core/cache/src/main/java/io/jans/service/cache/NativePersistenceConfiguration.java index dd810a6b705..dd3efc3d096 100644 --- a/jans-core/cache/src/main/java/io/jans/service/cache/NativePersistenceConfiguration.java +++ b/jans-core/cache/src/main/java/io/jans/service/cache/NativePersistenceConfiguration.java @@ -26,6 +26,9 @@ public class NativePersistenceConfiguration implements Serializable { @XmlElement(name = "deleteExpiredOnGetRequest") private boolean deleteExpiredOnGetRequest = false; + @XmlElement(name = "disableAttemptUpdateBeforeInsert") + private boolean disableAttemptUpdateBeforeInsert = false; + @JsonIgnore private String baseDn; @@ -53,7 +56,15 @@ public void setDeleteExpiredOnGetRequest(boolean deleteExpiredOnGetRequest) { this.deleteExpiredOnGetRequest = deleteExpiredOnGetRequest; } - public String getBaseDn() { + public boolean isDisableAttemptUpdateBeforeInsert() { + return disableAttemptUpdateBeforeInsert; + } + + public void setDisableAttemptUpdateBeforeInsert(boolean disableAttemptUpdateBeforeInsert) { + this.disableAttemptUpdateBeforeInsert = disableAttemptUpdateBeforeInsert; + } + + public String getBaseDn() { return baseDn; } @@ -64,6 +75,8 @@ public void setBaseDn(String baseDn) { @Override public String toString() { return "NativePersistenceConfiguration [defaultPutExpiration=" + defaultPutExpiration + ", defaultCleanupBatchSize=" - + defaultCleanupBatchSize + ", deleteExpiredOnGetRequest=" + deleteExpiredOnGetRequest + ", baseDn=" + baseDn + "]"; + + defaultCleanupBatchSize + ", deleteExpiredOnGetRequest=" + deleteExpiredOnGetRequest + + ", disableAttemptUpdateBeforeInsert=" + disableAttemptUpdateBeforeInsert + + ", baseDn=" + baseDn + "]"; } }