问题标签 [hotdeploy]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1197 浏览

tomcat - 如何在 Tomcat 上进行 Grace 热部署(不停)

我们的生产在 LB+TOMCAT 上运行,我们使用自己定制的 SAFE-DEPLOY 工具将更改部署到生产中。由于我们的系统致力于提供 24/7 可用性,该工具部署更改如下

用于特定服务的总服务器分为几组。让我们假设它分为 2 组,他们停止一组,部署更改并启动该组。第一个组完成后,他们将更改部署到另一个组。在大多数情况下,它运行良好,没有任何问题。

问题是由特殊情况引起的。一个服务生成一个令牌,客户端将其作为凭证,现在我们更改了令牌的格式,如果我们使用相同的部署方法,应该有一些潜在的问题。即 group1 停止并部署新代码然后重新启动(没关系),group2 停止(准备部署新代码),现在group2部署时可能会发生错误,因为在此期间group1可能会收到group2生成的旧格式令牌(1.group1部署时,group2运行旧代码,2.group2停止不能处理请求),客户端收到一个错误,表明令牌错误,但它不是真正的错误令牌。

我有一个解决方案是,让我们的代码既可以处理新格式令牌又可以处理旧格式令牌,但只生成新格式令牌,运行 1 天后,我们可以做一个只处理新格式令牌的部署。我想它工作得很好,但这不是恩典。

我的问题是,是否有任何优雅部署方法使服务器可以处理已生成的旧格式令牌和新格式令牌,而无需更改任何代码。

顺便说一句:我在 tomcat 上找到了一个参考,最佳实践热部署,它只适用于 tomcat 7,我们的工作 tomcat 是 6.0.26。

0 投票
2 回答
3690 浏览

java - OSGi 与 jboss 热部署

据我了解,在 OSGi 中,您可以在运行时更新 jar,而无需重新启动服务器。但是 jboss 也有热部署,其中完整的耳朵被更新并且服务器仍在运行。

那么在 jboss 的企业 Java 项目中,OSGi 有什么好处呢?

0 投票
4 回答
5282 浏览

jakarta-ee - 立即重新部署 Java EE 应用程序

我对 Java EE 很陌生,一直在为部署过程的缓慢而苦苦挣扎,想知道我是否做错了什么。我对 Django 有经验,其中代码的更改会立即发生,而且热部署 Java EE 应用程序似乎有点令人困惑——有多种东西声称可以热部署(Glassfish、Eclipse manic hotdeploy、Jetty hotdeploy、JRebel 等。 )。

我的项目是一个 Maven 项目,我正在使用 Netbeans 进行部署。该站点使用 Spring、JSF 和 Hibernate 框架。

在 Netbeans 中,根据以下屏幕截图,在保存时部署似乎已启用,但单击/取消单击是不可能的,因为它声称从我的 pom.xml 中获取信息(尽管我的 pom.xml 中没有这样的字段(仅依赖))。 在此处输入图像描述

现在,对某些文件的更改似乎立即生效。其中包括: - JSF 文件 - 静态文件

以下更改需要部署: - 任何 XML 文件 - 任何属性文件,甚至本地化属性文件 - 任何 java 文件

对这些的更改需要我手动部署并且重新部署需要半分钟,即使我目前只有 2-3 个类,基本上是一个用户类和一个授权类。该项目目前只允许登录,尽管如此,编译大约需要几秒钟;并且容器(Glassfish)似乎消耗了大约 600 MB 的 RAM,甚至在几次部署后出现 PermGen 错误,我需要使用任务管理器终止 java 进程。(我已经读到这与每次重新部署后垃圾收集器泄漏有关,我什至使用 jhat 来生成配置文件,但看到了数千个类的列表,我的类、Spring、Hibernate 类等。)

我也听说过 jrebel,并尝试运行它,但它似乎与我的 Netbeans 版本(7.0)不兼容,即使它似乎可以运行,对任何 java 文件的任何修改仍需要重新部署。

我可以做些什么来解决这些问题,或者在 Java EE 中每次更改任何 Java 文件后等待大约 1 分钟是正常的吗?这个问题会显着降低生产力。

这是我在部署应用程序时的 Glassfish 输出:http: //pastebin.com/7FhZ6AVh

0 投票
1 回答
288 浏览

java - 无论如何要在 Coldfusion 9 中热部署 Jar?

我想知道是否无论如何都可以部署新的 jar 文件以在 Coldfusion9 中使用而无需重新启动服务。

谢谢

布鲁诺

0 投票
1 回答
521 浏览

eclipse - 如何热部署scala+Java EE 6?

我正在为想要使用 scala 构建并使用 JBoss AS 7 运行的 Java EE 6 应用程序构建开发环境。

我能够使用 maven 运行所有东西,但不能像在 Java 中那样热部署我的更改的 IDE。

Eclipse 是我的第一选择,但我无法让 scala 插件与 WTP 一起使用。

谁能推荐一个运行良好的 Scala + Java EE 6 IDE / 构建工具?

0 投票
1 回答
350 浏览

java - 使用 JAXB 生成的类在 Eclipse 中构建错误

我遇到了一个奇怪的问题,即在 JBoss 上调试时 Eclipse 找不到 JAXB 生成的类。

这里是导致障碍的步骤。

  1. 我在调试模式下启动我的 JBoss 4.2.3
  2. 我将我的 Java 项目部署到服务器
  3. 我对源代码进行了微小的更改(例如附加空格)
  4. Eclipse 为项目构建一个新的
  5. Eclipse 找不到外部库的 JAXB 生成的类
  6. Eclipse 中的构建错误
  7. 热代码替换失败

当我不在调试模式下启动 JBoss 时,一切正常。

我怀疑问题在于 Eclipse 和 JAXB 生成的类的相互作用。我正在使用 Eclipse Indigo 和 m2eclipse 插件。

0 投票
1 回答
140 浏览

java - 热重载旧的基于 Ant 的 Java webapp

我有一个在 Ant 上运行的 Web 应用程序,我使用 Tomcat 或 JBoss 在 Eclipse 中本地测试它(但我可以使用其他东西)。有什么好方法可以让我热重新加载我的应用程序?我希望这样做,以便我可以重新加载课程而无需再次登录应用程序。

我也会对重新部署的方式感兴趣,而这将使我能够保持我的会话。

我希望在不改变我的构建的情况下做到这一点。我买不起 JRebel,我的雇主也不会愿意支付任何费用。

0 投票
1 回答
198 浏览

java - JBoss 6:停止热部署

是否可以以编程方式停止 JBoss 6 的热部署?我怎样才能做到这一点?

0 投票
2 回答
623 浏览

java - jvm 在热交换功能上是否有所不同?

在开发期间重新启动您的(服务器)可能会消耗大量时间。zeroturnaround 的人们意识到了这一点,并创建了 jrebel,它具有令人印象深刻的功能列表:

http://zeroturnaround.com/jrebel/features/

sun jvm 上的 Hotswap 历史悠久:

http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4910812

所以今天 jvm hotswap 所支持的似乎都是“对方法体的更改”。

这是所有 jvm 共有的唯一热交换功能,还是 jvm 在热交换功能上有所不同?

0 投票
1 回答
283 浏览

apache - Web服务修改轴存档的热部署

Apache axis2 (1.6.1) 支持在将 web 服务存档复制到轴战争的 web-inf/services 文件夹时热部署。但这仅限于新服务。它不会热部署“更改”的服务.. 有没有人有解决服务档案中“更改”的解决方案?

-阿拜