Java appengine动态实例出现问题
我有一个类,它在我的应用程序第一次启动时做一些事情(初始化)。这个初始化代码存在于静态块中。所以通常在类第一次加载时只执行一次 现在的问题是,当我的实例是动态的,当没有请求到达我的服务器时,我的应用程序将被卸载。因此,下次当请求到达时,应用程序将被动态加载,初始化代码将再次运行。这是我不想要的 我知道这个问题可以通过使用常驻实例来解决。但我猜常驻实例在免费配额中不可用。如果我错了,请纠正我 有什么办法可以解决这个问题吗 将计算结果存储在db中是一种选择,但它不可行,因为我需要快速获取数据? memchace怎么样?它会工作吗?memchace中的数据会在动态加载我的应用程序时保留吗?Java appengine动态实例出现问题,java,google-app-engine,Java,Google App Engine,我有一个类,它在我的应用程序第一次启动时做一些事情(初始化)。这个初始化代码存在于静态块中。所以通常在类第一次加载时只执行一次 现在的问题是,当我的实例是动态的,当没有请求到达我的服务器时,我的应用程序将被卸载。因此,下次当请求到达时,应用程序将被动态加载,初始化代码将再次运行。这是我不想要的 我知道这个问题可以通过使用常驻实例来解决。但我猜常驻实例在免费配额中不可用。如果我错了,请纠正我 有什么办法可以解决这个问题吗 将计算结果存储在db中是一种选择,但它不可行,因为我需要快速获取数据? me
注意:我没有显式卸载我的实例,但当我的应用程序未收到任何请求时,应用程序引擎会执行此操作。Memcache数据可能随时消失。只有数据存储数据保证是持久的 您可以存储初始化数据并按以下顺序获取:
(我就是这么做的)如果你不想接受Nick的建议。或者你可以安排每10分钟定期运行一次任务,这个实例将保持加载状态。(确保已启用threadsafe)听起来您好像在使用静态初始值设定项预计算某些数据。在这种情况下,为什么不希望每次启动新实例时都运行它呢?否则,您将无法访问该数据。我认为您误解了常驻实例(就像我一样)。常驻实例就像一个持久的空闲实例,在动态实例启动之前为请求提供服务。如果你设置了一个常驻实例(最小空闲实例),你会发现它只为你的应用程序提供一小部分请求,甚至不提供任何请求。