问题标签 [nailgun]
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.
rspec - 尝试使用 nailgun 和 spork 在 JRuby 和 Rails 2.3.10 上加快我的 rspec 1.2 测试时出错
我最近开始在我的 Rails 2.3 webapp 中使用 JRuby。从那以后,我的 rspec 测试一直很慢……自从我切换到 JRuby 后,测试运行时间太长了。
在使用 MRI 时,我从不费心使用 spork 来更快地运行测试,但现在我需要加快测试的执行速度。
首先,我尝试了 spork,但没有成功,因为:
- spork 0.9 RC支持jruby,但不支持rails 2.3 (它只支持rails 3)
- spork 0.8支持rails 2.3,但不支持jruby我认为它使用 fork(),spork-0.8 gem不会在jruby上安装事件)。
我试图在jruby,rails 2.3和spork 0.9 rc上运行我的测试,但没有成功,实际上有一条警告消息说spork 0.9 rc只支持rails >= 3.0
然后我尝试了 nailgun,我在我的 jruby 环境中安装了 nailgun gem(gem install nailgun)并启动了 nailgun 服务器(ruby --ng-server在我的应用程序的根目录)。然后我运行我的一个规范(ruby --ng -S spec spec/lib/importacao_atividades_spec.rb)。我第一次执行规范时,它运行得很好,但之后它不断提高RuntimeError: invalid runtime
检查跟踪:
所以我真的被困在这里。有人知道我该如何解决钉枪问题吗?如果没有,是否有替代方案?是否可以在 jruby 和 rails 2.3 中使用 spork?
java - 为什么 nailgun 缓存命令行参数?
通过 nailgun 运行 Jython 程序时,jython 程序始终使用第一次运行时的命令行参数运行。
首先我开始钉枪:
然后当我运行一个简单的 jython 脚本时:
然后将 jython 添加到 nailguns 类路径
然后运行带有单词“first”作为参数的脚本:
以单词“second”作为参数再次运行它,它会打印“first”
并且从那时起总是打印“first”:
java - 如何使用 Nailgun Server 启动 Groovy 脚本(或 Java 类)
我正在开发一个经常启动的 Groovy shell 脚本(执行相当小的任务),因此我需要一个快速的 JVM 启动时间。为了实现这一点,我正在尝试使用Nailgun启动它。
我已将 Nailgun 安装为 Ubuntu 软件包。然后我通过链接/usr/bin/ng-server
到/usr/bin/ng
. 我正在像这样启动 Nailgun-Server:
我有一个名为 hello.groovy 的简单虚拟 Groovy 脚本,只是为了测试 nailgun-server:
我用 groovyc 将文件编译为 hello.class。
现在我想在 Nailgun 服务器中启动该脚本。我的天真做法是:
但我得到的只是 ClassNotFoundExceptions:
那么,用 Nailgun 服务器启动我的 Groovy 脚本的正确方法是什么?我也很欣赏一些关于如何使用 Nailgun 的好网站/教程,真的很难获得如何使用它的任何信息......
编辑:
我还希望有一个完整的示例(包括如何使用 ng 调用特定类)将 nailgun 与纯 Java 类一起使用,因为我也无法让 ng 与任何 Java 类一起使用。
java - 将 JRuby 与 nailgun 一起使用时如何停止/启动 rails/webrick?
这可能是一个愚蠢的问题,但我自己研究它并没有太多乐趣。
在通过 rvm 安装的 OSX (Snow Leopard) 上使用 JRuby 1.6.4。
我已启用 nailgun。
可以启动 rails/webrick (rails s),一切看起来都很好。
现在我想停止/启动 rails - 我该怎么做?
我做了通常的 Control-C,它看起来会杀死 rails 命令 - 但是,因为它真的在后台 nailgun 守护程序上运行,它没有被杀死。
如果我现在重新启动 rails,我会收到关于正在使用的端口 3000 的错误 - 它正在尝试启动第二个 webrick。
如果我杀死后台守护进程(使用 kill),JRuby 将无法启动(连接被拒绝)。启动一个新的终端窗口似乎可以解决这个问题。
这似乎不是正确的方法,但是什么是正确的?
我看过Headius 的指南和Nailgun 项目页面- 但都没有走那么远......
performance - 使用 groovyserv 或 nailgun 或什么来改善 gradle 启动时间
我正在尝试改善 Gradle 的启动时间。实验--daemon
开关似乎并没有真正加快速度。所以我正在考虑使用一些独立于 gradle 的服务器进程,并让 gradle 连接到它。到目前为止我发现的选项是
- nailgun调用 java
- GroovyServ调用 groovy 脚本
由于 gradle 是由 shell 脚本启动的,因此需要进行一些调整。我的问题是:有没有人使用上述选项来启动 gradle?或者,如果您成功使用了另一个选项,那是什么?
clojure - 为什么 nailgun 服务器会抛出“无法确定文件的命名空间”错误?
我正在尝试让 vimclojure 继续运行,如果我做错了什么,我将不胜感激。当我尝试在我的一个 lein 项目中读取 project.clj 时出现错误:
以下是 ~/.vimrc 中的相关行
并且 nailgun 在 CLASSPATH 中
我错过了什么和/或我做错了什么?谢谢你。
clojure - Can't get VimClojure to talk to NGServer
I'm trying to setup Vim as a Clojure programming environment, using these instructions:
I'm able to start ng-server
from the root of a Leiningen project. But whenever I try to start a repl in vim, I get:
I have VimClojure
plugin installed and added these lines to my .vimrc
file:
RainbowParens
is working and I can get a response from ng
on the command line.
I also tried slime.vim
. While it works, it takes a full 5 seconds to respond to a simple (+ 2 3)
typed in vim
, which is rather annoying.
Help?
ruby-on-rails - Nailgun 模式下 JRuby 1.7 上的 Rails 应用程序无法启动
我在 RVM 中安装了 JRuby 1.7.2,创建了一个 gemset,执行了捆绑安装。现在,我运行这个:
第 1 学期:
第 2 学期:
问题是什么都没有发生,终端不打印任何东西,它只是永远挂起。Top 没有显示任何 java/jruby 进程正在工作。
如果我尝试在没有 --ng 的情况下启动应用程序,它可以正常工作。问题是什么?打包机?
防火墙当然是禁用的。
java - Java -> C++ 通信使用 SWIG over JNI。防止 C++ 错误和内存泄漏
我们愿意与另一个 Java 团队开发的 C++ 库进行交流。
我们见过的最自然和最优化的方法是使用 JNI,但在开发期间为了简单起见使用 SWIG。
我们实际上已经开发了原型并且运行良好。在使用 SWIG Director 进行第一次 Java->c++ 通信之后,还有一个 C++->Java 通信。
我们看到的主要问题是暴露于 C++ 库中可能出现的错误,例如内存损坏和内存泄漏。
似乎没有办法有效地防止这些错误。例如,在 C++ 中执行中止(模拟一些不正确的内存操作)将杀死 JVM
我们想到的解决方案是从父 JVM 中启动几个 Java 进程,这些进程将在 JBoss 中运行,这也是我们愿意保护的。
启动java进程很难,主要是因为需要先启动JVM。
在这种情况下,我们想到的解决方案是使用多个 Nailgun 服务器。每个都将加载一个 JVM 广告,将有权访问(在类路径中)我们要启动的程序。
每个 Nailgun 服务器中的每个 JVM(关系为 1-1)都能够在同一个 JVM 中同时运行我们的程序的多个执行。如果发生错误,此 Nailgun JVM 中的所有执行都将崩溃(但 JBoss JVM 将处于活动状态)。出于这个原因,我们安排了几个执行次数有限的 Nailgun 服务器,并使用某种负载平衡将执行分派到任何服务器。此外,Nailgun 服务器将定期重新启动以防止内存泄漏。
我们认为这是防止 C++ 崩溃的好方法。
但是,我们想询问社区是否有更好的方法。
我忘了提到我们正在考虑的另一个解决方案是让集群 JBoss 与我们的战争出于故障转移原因。然后可能会合并 Nailgun 服务器,这取决于 C++ 程序的可靠性。纯 JBoss 集群应用程序(没有 Nailgun 进程)的好处是我们不需要任何类型的进程间通信,整个操作将在具有线程的进程中执行。
java - 使用nailgun时Scala编译服务器错误
我目前正在使用 IntelliJ Idea 13.0 Build 132.197,在构建任何 Scala 项目时我经常遇到这个问题
当我只打开 1 个项目并且没有在任何其他进程中使用 nailgun 时会发生此错误。关闭并重新打开项目不起作用。从 IntelliJ 退出并重新启动后,我仍然收到相同的错误。
在 Windows 任务管理器中,我看到一个java.exe
包含以下详细信息的进程:
这是因为 Nailgun 设置有问题吗?