bugfix/use InMemory cache for DynamicResourceDoc

This commit is contained in:
hongwei 2025-04-03 09:12:39 +02:00
parent 3c58883438
commit 299e70c2f0

View File

@ -15,8 +15,7 @@ import scala.concurrent.duration.DurationInt
object MappedDynamicResourceDocProvider extends DynamicResourceDocProvider {
private val getDynamicResourceDocTTL : Int = {
if(Props.testMode) 0
else if(Props.devMode) 10
if(Props.testMode) 0 //make the scala test work
else APIUtil.getPropsValue(s"dynamicResourceDoc.cache.ttl.seconds", "40").toInt
}
@ -50,9 +49,8 @@ object MappedDynamicResourceDocProvider extends DynamicResourceDocProvider {
}
override def getAllAndConvert[T: Manifest](bankId: Option[String], transform: JsonDynamicResourceDoc => T): List[T] = {
var cacheKey = (randomUUID().toString, randomUUID().toString, randomUUID().toString)
CacheKeyFromArguments.buildCacheKey {
Caching.memoizeSyncWithProvider (Some(cacheKey.toString())) (getDynamicResourceDocTTL second) {
val cacheKey = (bankId.toString+transform.toString()).intern()
Caching.memoizeSyncWithImMemory(Some(cacheKey))(getDynamicResourceDocTTL seconds){
if(bankId.isEmpty){
DynamicResourceDoc.findAll()
.map(doc => transform(DynamicResourceDoc.getJsonDynamicResourceDoc(doc)))
@ -62,7 +60,6 @@ object MappedDynamicResourceDocProvider extends DynamicResourceDocProvider {
.map(doc => transform(DynamicResourceDoc.getJsonDynamicResourceDoc(doc)))
}
}
}
}
override def create(bankId: Option[String], entity: JsonDynamicResourceDoc): Box[JsonDynamicResourceDoc]=