当前位置: 首页 > 面试题库 >

启动时中止Java Webapp

羊舌和安
2023-03-14
问题内容

我的webapp是部署到websphere服务器中的较大EAR的一部分。该服务器在同一虚拟服务器上托管许多其他应用程序。我的webapp在ServletContextListener->
contextInitialized方法中进行了一些初始化/运行状况检查。如果初始化/运行状况检查失败,我想使Web应用程序不可用。什么是实现此目的的可行方法?从contextInitialized内部抛出RuntimeException是否足够?仍然可以使用EAR的其余部分吗?谢谢。


问题答案:

我建议抛出一个RuntimeExceptionfrom ServletContextListener.contextInitialized

Servlet 2.3对此并不十分清楚,但是Servlet 2.4添加了以下细节:

在应用程序中另一个组件的调用堆栈下不会发生某些异常。一个示例是……ServletContextListener,它在Servlet上下文初始化通知期间引发未处理的异常。在这种情况下,开发人员没有机会处理异常。容器
可以 使用HTTP状态代码500响应对Web应用程序的所有后续请求,以指示应用程序错误。

由于它表明servlet引擎“可能”禁用了对应用程序的访问,因此您可能会发现服务器在执行其他操作。但是,Tomcat和WebLogic都禁用了该应用程序,而我能想到的唯一其他合理的事情就是忽略该异常。我看不到做到这一点的容器非常流行,因此您最好自己在WebSphere中对其进行测试。



 类似资料:
  • 问题内容: 我需要一些有关在PHP中启动和停止计时器的信息。我需要测量从我的.exe程序开始(我在PHP脚本中使用函数)到完成执行并显示所花费的时间(以秒为单位)之后经过的时间。 我怎样才能做到这一点? 问题答案: 您可以使用并计算差异: 这是PHP的文档:http : //php.net/manual/zh/function.microtime.php

  • 我正在尝试一个简单的Spring启动应用程序它总是自动关闭 波姆。xml 主类 控制器 尝试在Spring工具套件中运行。启动后总是停止。我甚至在看了一些stackoverflow问题后添加了“spring-boot-starter-web”,但仍然面临问题。 请你能有人指出这个问题。

  • 参考 workerman手册 http://doc3.workerman.net/install/start-and-stop.html

  • 注意Workerman启动停止等命令都是在命令行中完成的。 要启动Workerman,首先需要有一个启动入口文件,里面定义了服务监听的端口及协议。可以参考入门指引--简单开发实例部分 这里以workerman-chat为例,它的启动入口为start.php。 启动 以debug(调试)方式启动 php start.php start 以daemon(守护进程)方式启动 php start.php

  • 问题内容: 众所周知,许多Android应用在首次聚焦之前都会非常短暂地显示白屏。在以下情况下会出现此问题: 扩展全局类并在其中执行主要初始化的Android应用。该 对象总是在第一个对象之前创建(这可以在调试器中观察到),因此这很有意义。这是我的案件延误的原因。 在初始屏幕之前显示默认预览窗口的Android应用。 设置显然在这里不起作用。我也无法将初始屏幕的父主题设置为此处所述,因为[不幸的是

  • Triathlon程序执行一个长时间运行的任务,如果该任务已完全执行,则有可能重新启动该任务。我想添加停止执行以重置UI的可能性。为了达到这个目的,我增加了一个新的按钮,停止。代码如下: 如果任务已经完成,程序很好地重新启动,但是如果我在停止它之后调用start,程序就会崩溃。我该纠正什么?