当需要重新启动测试服务器时

下列子主题描述了可能需要重新启动服务器的不同情况。在此主题末尾的表总结了这些情况。

在开发环境中,您可能想在应用程序正在服务器上运行时对其进行更改,例如,当您正在服务器上调试应用程序时。在某些情况下,可以采用动态方式重新装入经过修改的代码,而不必重新启动服务器。根据已修改资源的类型和服务器类型不同,可能会也可能不会改变程序的状态。

如果应用程序正在服务器上运行,并且您对代码作了更改,则 Java™ 虚拟机将继续运行初始代码,直到自动或手工重新装入代码为止。例如,您可以修改 JSP 源代码,且会在服务器上自动重新装入这些更改。对于其他资源(如在 Tomcat1 上运行的 Java 类,必须重新启动服务器以确保服务器识别这些更改。

对服务器配置的更改

如果服务器正在运行时对服务器或服务器配置作了任何更改(例如,更改了端口号),则需要重新启动服务器。

对 JSP、HTML、图形和非 Java 文件的更改

如果在服务器正在运行时对 JSP 文件、HTML 文件、GIF 文件、JPG 文件或类似的资源作了任何更改并保存该文件,则需要在服务器上发布应用程序,然后刷新 Web 浏览器以便服务器识别更改。程序的状态不会改变。要在服务器上发布应用程序,您可以等待自动发布时间间隔过去,也可以手工发布应用程序(在“服务器”视图中右键单击服务器并选择发布)。有关自动或手工发布至服务器的更多详细信息,请参阅发布应用程序主题。

对 servlet 和相关类的更改

如果在服务器正在运行时对 servlet 作了任何更改并保存文件,则在已对该应用程序启用了重新装入的情况下将重新装入该 servlet。如果对服务器启用了热方法替换,则不需要刷新浏览器更改就会自动生效。

如果禁用了热方法替换,则在服务器上发布应用程序然后刷新“Web 浏览器”时,服务器能够识别更改,且应用程序的状态不会改变。要在服务器上发布应用程序,您可以等待自动发布时间间隔过去,也可以手工发布应用程序(在“服务器”视图中右键单击服务器并选择发布)。有关自动或手工发布至服务器的更多详细信息,请参阅发布应用程序主题。请记住,该项目的会话数据将丢失,但应用程序内其他项目的状态不会更改。可以在“导航器”视图中从项目的弹出菜单重新启动项目。对于 WebSphere Application Server V5.12,如果未启用重新装入,则必须重新启动 EAR。如果正在运行 Tomcat 并且未启用重新装入,则需要重新启动服务器。

对于 WebSphere Application Server,上述规则也适用于 Web 项目的任何从属类或部署描述符。如果修改了正在 WebSphere Application Server 上运行的 web.xml 部署描述符的安全性或登录配置属性,则需要重新启动服务器。对于 Tomcat,任何这些更改都要求重新启动服务器。

提示: 要禁用重新装入,使用部署描述符编辑器打开 Web 项目。在“扩展”页上,清除启用重新装入复选框。

添加 servlet、类或 JSP 文件

如果服务器正在运行时将新的 servlet、从属类或 JSP 文件添加至 Web 项目,则能够识别更改(如果已启用重新装入的话)。未启用重新装入的情况下,如果正在运行 WebSphere Application Server,则需要发布应用程序并重新启动 EAR 项目;如果正在运行 Tomcat,则必须发布应用程序并重新启动服务器。要在服务器上发布应用程序,您可以等待自动发布时间间隔过去,也可以手工发布应用程序(在“服务器”视图中右键单击服务器并选择发布)。有关自动或手工发布至服务器的更多详细信息,请参阅发布应用程序主题。如果在调试方式下启用了热代码替换,则将自动识别对 Java 类的更改。

对 EJB 资源的更改

对于 WebSphere Application Server,服务器将在 EAR 中以动态方式重新启动 EJB 项目。如果在调试方式下启用了热代码替换,则会自动识别对 Java 类所作的更改。

切记: Tomcat 不支持 EJB 测试和发布。

对企业应用程序项目内的资源的更改

对于 WebSphere Application Server,如果在服务器上运行企业应用程序项目时更改了项目中的任何资源,则服务器将以动态方式重新启动 EAR。Tomcat 不支持企业应用程序项目测试和发布。

对于 WebSphere Application Server V6.x,如果更改了 WebSphere Enhanced EAR 编辑器中的任何资源,则需要重新启动服务器并重新发布该应用程序。WebSphere Enhanced Ear 编辑器是应用程序部署描述符编辑器中的“部署”页。

表 1. 在服务器正在运行的情况下修改资源时要执行的操作的总结
修改的资源 必需的操作
  WebSphere Application Server Apache Tomcat WebSphere Application Server Express
服务器配置 V5.1 服务器:重新启动服务器 重新启动服务器 重新启动服务器
V6.x:行为与独立 WebSphere Application Server 相同,有关详细信息,请参阅 WebSphere 信息中心
JSP 刷新 Web 浏览器 刷新 Web 浏览器 刷新 Web 浏览器
servlet 启用热方法替换 自动 自动 自动
启用重新装入 刷新 Web 浏览器 刷新 Web 浏览器 刷新 Web 浏览器
禁用重新装入 重新启动 EAR 项目或服务器 重新启动服务器 重新启动 EAR 项目或服务器
相关类或部署描述符 启用热方法替换 自动 自动 自动
启用重新装入 刷新 Web 浏览器 刷新 Web 浏览器 刷新 Web 浏览器
启用重新装入 重新启动 EAR 项目或服务器 重新启动服务器 重新启动 EAR 项目或服务器
EJB 实现 自动重新装入 不受支持 不受支持
当启用了热方法替换时:自动而不进行重新装入
EJB 接口或接口的从属类 自动重新装入。如果应用程序客户机拥有对 EJB 的引用,则重新启动应用程序客户机。 不受支持 不受支持
依赖于 EJB 的类或部署描述符 自动重新装入 不受支持 不受支持
当启用了热方法替换时:自动替换
添加了 EJB 或从属类 自动重新装入 不受支持 不受支持
当启用了热方法替换时:自动替换
EAR 文件 自动重新装入 不受支持 刷新 Web 浏览器
应用程序部署描述符编辑器的“部署”页 V6.x 服务器:重新启动服务器并重新发布应用程序 不受支持 不受支持
1 在 WebSphere® Application Server Toolkit V6.1.x 中未提供 Tomcat 服务器,但在诸如 Rational® Application Developer V7.0.x 或 Rational Software Architect V7.0.x 之类的产品中提供了 Tomcat 服务器
2 WebSphere Application Server Toolkit 中未提供 WebSphere Application Server V5.1 测试环境和服务器,但 IBM® Rational Software Development Platform 中可能会提供这些测试环境和服务器

反馈