java布尔标志可用于App Engine中的多个实例
我有一个应用程序,可以运行多个实例,所有请求都通过一个servlet
我需要运行一个cron作业,每周执行一次,大约3分钟。在cron调用期间,某种标志/布尔值将在某个地方被修改,这样servlet就可以接收并发送“服务器暂时不可用”类型的消息,而不是处理请求。一旦cron作业完成,它会将其标记回true
我不能使用单例或静态布尔值,因为该应用程序将在多个实例中运行。我也不希望servlet在每次请求时都必须从数据存储中获取一个值,因为这将意味着数十万次额外的数据存储读取
我能做什么?有什么想法吗
# 1 楼答案
一种方法是让cron作业将消息发布到所有servlet实例都在侦听的JMS主题。这些消息可以通知servlet实例将您提到的静态布尔值设置为true或false