java - 如何在不伤害现有用户的情况下在生产环境中部署 war 文件

标签 java apache iis jboss tomcat7

我正在生成一个 war 文件并想用生产中的当前 war 文件替换。 在 Apache 或任何其他标准服务器中执行此操作遵循的标准是什么? 人们如何检查网站上当前登录的用户,选择一个好的时间更换,是否可以在不关闭服务器的情况下做到这一点? IIS 足够智能,可以将当前用户保留在旧文件上,并将新登录的用户重定向到新的生产代码。我们可以在 JBoss 或 Apache 中做一些类似的事情吗? 谢谢

最佳答案

JBOSS有一个hotdeploy目录,可以让你快速部署一个新版本的WAR。在底层,它将旧的 WAR 以及旧的元数据保留在 permgen 空间中,因此当前正在执行的请求不会被此操作中断。唯一的问题是,这会增加您需要的 Permgen 数量,并且在某些情况下会随着时间的推移而增加,直到出现 permgen 空间不足错误。

关于java - 如何在不伤害现有用户的情况下在生产环境中部署 war 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10836495/

相关文章:

c# - 页面无法显示,因为服务器发生内部服务器错误

asp.net - TicketCompatibilityMode 上的 IIS 配置错误

java - 如何在 Java 中执行字符串差异?

java - 获取所有元音的索引并将 "ub"放在它们前面(最后一个元音除外)

javascript - 将nodejs集成到现有应用程序中

php - 在 PHP 中禁用输出缓冲

css - Internet Explorer 不呈现自定义列表项中的前导文本

java - 用户缺乏保存查询的权限或未找到对象错误

java - Apache CXF 将类 "known"添加到 JAXB 上下文

apache - .htaccess,将 404 错误重写到其他域