我想阻止Google App Engine实例在关键初始化失败时继续运行。如何在Java中以编程方式执行此操作? System.exit()
在GAE中不起作用。
我想在ServletContextListener
的实现中编写它,如下所示。
public class AppContextListener implements ServletContextListener
{
@Override
public void contextInitialized(ServletContextEvent context)
{
try
{
// Initialization
}
catch (Throwable t)
{
// Fatal. Terminate this Google App Engine instance.
}
}
@Override
public void contextDestroyed(ServletContextEvent context)
{
}
}
答案 0 :(得分:0)
如果在“catch”块中抛出异常(或UnavailableException)会发生什么?这应该会阻止您的应用程序启动。我已经看到从标记为load-on-startup的servlet中抛出某些异常会导致这种情况,但是如上所述,从ServletContextListener执行此操作更为合适。