1
我想要一个石英作业定期填充地图(从Web服务调用),然后从Web图层访问该地图(以向用户显示)。应用程序全图
我在想只是做一项服务(因为服务是单身人士),但我有点担心the recommendation not to store state in a service。
class MapService {
def map = [:]
}
这样做的最好方法是什么?
我想要一个石英作业定期填充地图(从Web服务调用),然后从Web图层访问该地图(以向用户显示)。应用程序全图
我在想只是做一项服务(因为服务是单身人士),但我有点担心the recommendation not to store state in a service。
class MapService {
def map = [:]
}
这样做的最好方法是什么?
如果您不担心在应用程序运行时将数据保存在内存中,则可以在服务中使用ConcurrentHashMap
并存储所需的数据。尽管如此,将它视为缓存而不是可靠存储。
正如你也说了,服务是单only one instance of the service ever exists
和concurrentMap
是A hash table supporting full concurrency of retrievals and adjustable expected concurrency for updates.
例:
calss MyService() {
ConcurrentHashMap cacheMap = [:]
def retrieveCache(String key) {
cacheMap[(key)]
}
def resetCache(){
cacheMap = [:]
}
def doSomething(){
..
cacheMap.put(key,value)
}
}
类似post
我将存储映射到数据库,并在每个INTERVALL取从数据库映射并推送新的entrys和保存,所以在weblayer上你只能从数据库中获取。另一个想法是,你没有任何时间间隔地图的人口,但总是当用户请求显示它们,然后它的持久 –
我希望不会将它们保存到数据库...或者在用户访问该页面时获取它们: ) – zoran119
你是否能够实现你正在寻找的东西? – Alidad