问题标签 [hotswap]

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 回答
143 浏览

c# - Roslyn 代码交换

我真的很喜欢在 asp.net vnext 中,我可以在我的应用程序运行时更改控制器的代码,只需刷新它就可以工作。

我想为我的应用程序实现同样的事情,它是如何发生的?如何动态更改类型的实现?

0 投票
1 回答
1397 浏览

maven - 在 Intellij 中使用 Maven 运行/调试配置时能够热交换类

我想在 Intellij 中使用 Maven 运行/调试配置来构建和运行我的应用程序:一个打包为 fat jar 的 Spring Boot 驱动的 Web 应用程序。我还希望能够热交换课程。但是在 Intellij 中,我只有在使用 Intellij 的内置 Make 功能和 Intellij 'Application' 运行/调试配置时才知道如何进行热插拔。有没有办法做到这一点?

注意:我不想使用 WAR 打包。

0 投票
1 回答
1098 浏览

java - Java中“热重载”的定义

我正在使用 Java,我被要求将 jar 文件热加载到 ejb 服务器。

所以我的问题是(是的,我已经用谷歌搜索了!),Hot reload 的定义是什么?

0 投票
1 回答
53 浏览

node.js - Meanjs 热插拔部署

我正在尝试将我的 MEANjs 应用程序部署到生产环境中......
到目前为止,我已经使用 jenkins、git、rsync 等将项目复制到远程服务器。

在最后一步我只需要打电话

  1. 停止 myMeanjsApp
  2. 用新版本的应用程序替换文件夹
  3. 调用启动 myMeanjsApp

但这意味着我试图避免的停机时间
1. 我怎样才能避免这种情况?
2. 这方面有没有好的实践工作流程?

我已经看到了这个 ,但我不确定它是要走的路还是有其他简单的方法可以做到这一点?

0 投票
1 回答
2650 浏览

java - 我可以使用 Oracle Java 7 HotSpot VM 安装 DCEVM 吗?

我在 MacOS (OSX 10.7.5) 上运行 Oracle Java 7

java-版本:

我最近阅读了有关DCEVM 的信息,并且很想尝试一下。但是,我对它的兼容性感到困惑。

根据二进制文件下载页面,有 OpenJDK Java 7 update 51, build 3 的二进制文件。我不太确定这与我目前机器上的 Java 版本有什么关系。

安装 JRE 是否需要匹配 DCEVM Hotspot 版本?我是否需要安装 OpenJDK 7_51_3 才能使用有问题的 DCEVM?或者我可以使用我的 Oracle JRE 安装热点 VM?

我不完全确定 JRE/JDK 附带的所有实用程序如何与 HotSpot VM 交互,以及它们是否都必须具有相同的构建,因为编译后的字节码应该能够在任何 JVM 上运行相同的主要版本号。

谁能提供一点了解所有这些组件如何组合在一起?

作为后续,有谁知道我是否/如何/在哪里可以找到适用于 OSX 的兼容版本的 OpenJDK,我可以在其上运行DCEVM for Java 7 update 51, build 3??

0 投票
1 回答
374 浏览

scripting - 支持“编辑并继续”或“热交换”的脚本语言?(也许在 Lua 中可能?)

我正在为非编程用户编写现有的 .Net 应用程序脚本。我添加了 lua,它就像一个魅力。然后我通过 debug.sethook添加了调试功能(暂停/继续/步骤) 。它也像一个魅力。

现在我意识到我的应用程序需要像 Visual Studio 那样的编辑和继续功能。您暂停执行可以编辑代码,然后从当前状态继续应用更改。这个功能对我来说非常重要。我认为这对于脚本语言来说很容易做到。

我在任何地方读到脚本语言都可以做到这一点。但即使经过数小时的搜索,我还没有找到 Lua 实现。它不一定是 Lua,但 Lua 中的热交换代码将是我的首选。

如何为用户提供暂停和编辑脚本并在应用更改后继续执行的能力?

注意:不必是 Lua,每种脚本语言都可以

更新

@Schollii 这是一个例子:

谢谢你的建议。这就是它的工作方式:

  1. 我将使用https://github.com/frabert/NetLua它是一个非常酷、编写良好的 100% C# Lua 解释器。它首先生成一个 AST 树,然后直接执行它。
  2. 解析器需要修改。在 Parser.cspublic Ast.Block ParseString(string Chunk)中首先生成了一个 parseTree。parseTree.tokens[i].locations 包含每个标记的确切位置。然后Irony.Parsing.ParseTree再次解析并转换为a NetLua.Ast.Block,但丢失了位置信息。我需要改变它,所以稍后我会知道哪条语句在哪一行。
  3. 现在 AST 树中的每个 Statement 都直接通过 EvalBlock 执行。需要添加调试功能(就像我在 C Binding lua Interpreter DynamicLua via debug.setHook 中的那样)。这可以在 LuaInterpreter.cs internal static LuaArguments EvalBlock(`. Pause/continue/step 函数中完成。我现在也可以添加当前行突出显示,因为每个语句都包含位置行信息。
  4. 当执行暂停并且代码被编辑时,当前的 LuaContxct 被保存。它包含所有变量。最后一个执行行的最后一个语句也被保存。
  5. 现在,代码 String 再次被解析为新的 AST 树。它被执行。但是所有语句都被跳过,直到到达带有 line 语句的已保存语句。保存LuaContext的被恢复并且可以继续执行所有应用的更改。

新变量也可以在最后执行的行之后添加,因为一个新的NetLua.Ast.AssignmentStatement 可以只向当前的 LuaContext 添加一个新变量,一切都应该正常工作。

这行得通吗?

0 投票
1 回答
1527 浏览

jakarta-ee - Intellij idea 13.1 和 TomEE - 热插拔不起作用

我正在开发一个部署在 TomEE Server(版本:apache-tomee-jaxrs-1.6.0.2)和 JetBrains IntelliJ IDEA 13.1.5 Ultimate 版上的 Java 项目。我用 Gradle 构建一切。

当我处于调试模式(远程调试器/应用程序服务器调试器)并尝试执行HotSwap(稍微更改其中一个类并单击Ctrl+之后F9)时,IDE 声称:

但我知道文件已更改...

在调试时添加 watch 显示该类仍在它的 prev 中。状态 - 没有更新更新。

但是,当我在同事站上执行相同的过程时,在两种模式下,一切都很好。(远程/应用程序服务器)更改后更新服务器Make

两个站的配置相同。(通过 SVN 和手动三重检查)

有什么问题?还有哪里可以检查?

谢谢。

0 投票
1 回答
1630 浏览

javascript - 是否可以在 weblogic 12 上进行热插拔?

前端:AngularJS

后端:Java

我们的雇主决定使用 Weblogic 12 来部署该项目。所以我们的问题是:

有什么方法可以修改 javascript 文件并立即看到更改?(例如 weblogic 中的主机交换)

注意:我们不使用 Eclipse

0 投票
1 回答
1968 浏览

java - 带有 HotSwap 代理的 JBoss

有没有人在生产中使用带有 DCEVM 和 HotSwap 代理的 JBoss AS 7.1?任何地方的教程?是否可以通过 HotSwap 代理添加新的包/类,或者只是替换现有的包/类?

对不起,这个问题太含糊了。我只是在研究提议的技术。

另一点:我是否必须始终部署为爆炸的 .war,并在其中替换/添加 .class 文件?或者我可以部署为压缩的 .war 并在其旁边复制其他压缩的 .jars?

我的架构是我有一个 servlet,然后需要从它访问其他组件。我想在运行时添加/替换这些组件。

0 投票
1 回答
1992 浏览

java - 在 JBoss 中使用 Hotswap 代理 (Jboss Developer Studio)

教程在这里: http: //www.hotswapagent.org/quick-start

说使用:

作为命令行参数。

但是,在 JBoss 开发人员工作室的 JBoss 上运行我的 servlet 时,我如何传递这些参数?

乍一看,它可能带有eclipse.ini/config.ini,但是 IDE jvm 为 JBoss 服务器生成了一个新的 jvm,它是否将参数从 传递.ini到那个?