me.ahoo.cache.spring.boot.starter.CoCacheClientEndpoint.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of cocache-spring-boot-starter Show documentation
Show all versions of cocache-spring-boot-starter Show documentation
Level 2 Distributed Coherence Cache Framework
/*
* Copyright [2021-present] [ahoo wang (https://github.com/Ahoo-Wang)].
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* http://www.apache.org/licenses/LICENSE-2.0
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package me.ahoo.cache.spring.boot.starter
import me.ahoo.cache.CacheManager
import me.ahoo.cache.CacheValue
import org.springframework.boot.actuate.endpoint.annotation.DeleteOperation
import org.springframework.boot.actuate.endpoint.annotation.Endpoint
import org.springframework.boot.actuate.endpoint.annotation.ReadOperation
import org.springframework.boot.actuate.endpoint.annotation.Selector
@Endpoint(id = "cocacheClient")
class CoCacheClientEndpoint(private val cacheManager: CacheManager) {
@ReadOperation
fun getSize(@Selector name: String): Long? {
return cacheManager.getCache(name)?.clientSideCaching?.size
}
@ReadOperation
fun get(@Selector name: String, @Selector key: String): CacheValue<*>? {
val coherentCache = cacheManager.getCache(name) ?: return null
val clientCacheKey = coherentCache.keyConverter.asKey(key)
return coherentCache.clientSideCaching.getCache(clientCacheKey)
}
@DeleteOperation
fun clear(@Selector name: String) {
cacheManager.getCache(name)?.clientSideCaching?.clear()
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy