标签: rhino

Rhino:如何从ScriptableObject获取所有属性?

我使用Javascript对象作为具有配置属性的对象.例如,我在javascript中有这个对象:

var myProps = {prop1: 'prop1', prop2: 'prop2', 'prop3': 'prop3'};
Run Code Online (Sandbox Code Playgroud)

这个对象(NativeObject)在Java函数中返回给我.例如

public Static void jsStaticFunction_test(NativeObject obj) {
    //work with object here
}
Run Code Online (Sandbox Code Playgroud)

我想从object获取所有属性并从中构建HashMap.

任何帮助将不胜感激.

javascript java properties rhino scriptable

5
推荐指数
2
解决办法
5996
查看次数

为什么不使用Rhino for JVM应用程序?

我想使用简洁,动态的语言为JVM开发一些应用程序.最流行的选择似乎是Jython,JRuby,Groovy,也许还有Clojure.

Rhino似乎很快且非常稳定,但我看不到有关Rhino开发和讨论的书籍.除了嵌入式脚本之外,为什么显然很少使用JavaScript?

编辑:我发现这个问题提供了有关基于Rhino的开发的可行性的信息.

groovy jython jruby rhino jvm-languages

5
推荐指数
1
解决办法
1764
查看次数

在 Linux 下运行 narwhal 的最佳方式

我正在检查独角鲸。它看起来很酷,而且我对tusk包管理系统印象特别深刻。然而,由于 narwhal 在 下运行rhino,因此该命令行工具的实用性会受到 JVM 令人讨厌的启动时间的影响。

我知道narwhal它能够在不同的引擎下运行,但尚不清楚是否还有另一种可用的选项,最好是无需大量配置工作即可工作的选项。

我试图让这个narwhal-v8包运行起来,但它似乎明确针对 OSX:它正在寻找 .dylib 文件形式的库。我修改了 makefile 以将其更改为 .so,并告诉它为我的 64 位架构构建 v8。这条路上的下一个绊脚石是 ubuntu 中明显神秘地缺少 iconv 库。我正在努力解决这个问题,但所有这些错误都表明可能存在“做错了”反模式,因此我认为明智的做法是求助于集体智慧。

linux下的narwhal是否可以使用比rhino更快的引擎?或者,我必须跳过什么样的圈子才能让它运行nailgun

编辑:我已经让它在钉枪下工作了。运行几次后,运行时间narwhal --help下降到 10% 左右。我将尝试制作一个以便携式方式实现此功能的独角鲸引擎。

javascript v8 rhino narwhal

5
推荐指数
0
解决办法
218
查看次数

RhinoJS是否支持websockets API?

我一直在使用Jasmine为Web应用程序编写BDD测试.我有兴趣使用Rhino从命令行运行这些相同的测试,我发现这个博客条目非常有帮助.然而; 我的应用程序使用pusher,它提供了一个简单的API,用于使用Web套接字在客户端之间传递事件.

我的测试在浏览器中运行良好,但是通过Rhino运行它们无法连接到推送器.Pusher提供调试流,它会显示身份验证错误或其他故障,但是当我从命令行运行测试时它不会注册任何活动.

这可能是一个简单的是或否答案,但我无法找到任何相关的文档,我是Rhino的新手,所以如果这是一个总的n00b问题,我道歉.

我的问题
正如标题所说,有没有人知道Rhino是否支持websockets API?我在这里做了别的错误,还是依赖于websockets的脚本根本不能通过Rhino工作?

我的总体目标是通过在几个EC2实例上同时运行我已经编写的茉莉花测试作为压力测试; 在重用我现有的javascript测试时,是否有一个很好的(简单的?)方法,或者我应该把它搞砸,然后用服务器端脚本语言编写我的压力测试?我知道selenium grid,但是如果可能的话,我希望避免产生新的浏览器来运行这些测试.

非常感谢!

javascript shell rhino jasmine

5
推荐指数
1
解决办法
889
查看次数

用Rhino读取文件

是否可以使用Rhino Server端Javascript来定位和读取任意本地文件的内容?

javascript rhino

5
推荐指数
1
解决办法
4139
查看次数

当我需要使用带参数的构造函数时,如何使用 Rhino 子类化(扩展)Java 类?

我有一个像下面这样的类 - 这是一个库的一部分,我根本无法改变它(如果可以,我会重新编写它或用 Java 子类化它)

public class FirstClass
{
   public FirstClass(SecondClass arg)
   {
      ...
   }
   public ThirdClass aMethod()
   {
      ...
   }
   ...
}
Run Code Online (Sandbox Code Playgroud)

我想使用 Rhino 创建一个 Javascript 对象(所以没有关于 JavaScript 与 Java 不同的评论,我知道),但要覆盖方法“aMethod”。

所以在Java中,我会这样做......

public class MySpecialFirstClass extends FirstClass
{
   public FirstClass(SecondClass arg)
   {
      super(arg);
   }
   public ThirdClass aMethod()
   {
      ThirdClass toReturn = super.aMethod();
      //My implementation goes here.
      return toReturn;
   }
   ...
}
Run Code Online (Sandbox Code Playgroud)

但我似乎无法在 Javascript 中做到这一点。到目前为止我尝试过的事情......

function js_FirstClass(arg)
{
   var temp = JavaAdaptor(FirstClass, 
      {
         '<init>': FirstClass,
         aMethod: function()
         {
            var toReturn …
Run Code Online (Sandbox Code Playgroud)

javascript java rhino

5
推荐指数
1
解决办法
2315
查看次数

如何在单元测试期间访问受保护的基类成员?

我正在使用犀牛模拟在mstest中创建一个单元测试.我有一个继承B类的A类.我正在测试A类并为我的测试创建一个实例.它继承的类"B"有一些受保护的方法和受保护的属性,我希望为了测试的利益而访问它们.例如,验证我的基类上的受保护属性是否具有预期值.

我在测试过程中如何访问B类受保护属性的任何想法?

c# tdd unit-testing mstest rhino

5
推荐指数
1
解决办法
4185
查看次数

在执行过程中停止Rhino引擎

Rhino引擎是否有api可以在中间停止执行脚本.例如,我有一个脚本文件,其中有一个infinte循环.如何在中间停止执行?

当然,我可以阻止启动Rhino引擎的jvm来执行脚本.但是我不想因为这个原因而杀死整个jvm会话,因为我已经以编程方式启动了脚本,并且Rhino Engine也在与我的应用程序相同的JVM中运行.

java rhino

5
推荐指数
1
解决办法
2525
查看次数

适用于 Java + Rhino 的 IDE,具有使用自定义 js 库和完整 JCL 的 js 脚本调试和分析工具?

我有一个 Java 应用程序,它广泛使用 javascripting 来让我们以不同的方式快速配置其不同的模块。在内部,脚本由 Rhino 简单编译,并且可以使用来自 Java 类库、自定义 Java 类或其他 javascript 文件的任何对象。但是我们的脚本变得越来越复杂,以至于我们需要调试和分析这些脚本以查看哪个 Java 方法调用会减慢脚本速度。

那么是否有任何 IDE 在此上下文中提供以下内容:

  • javascript 代码完成,考虑到 JCL 和我们自定义的 Java/js 代码。
  • JavaScript 调试器
  • javascript 分析器

我查看了 Eclipse / JSDT,但它面向 Web 开发,因此代码完成仅限于 javascript 本机对象和 DOM(后者在上下文中无用)。我知道我可以通过将我们的脚本添加为用户库来为自定义 js 代码添加代码完成。但是我不确定如何集成 Rhino 调试器,而且似乎没有可以处理 Rhino 编译代码的分析器。

javascript java ide autocomplete rhino

5
推荐指数
0
解决办法
574
查看次数

在 Rhino 上运行 Eslint

我需要在 Java 上运行 Eslint。我想到的唯一解决方案是“浏览” node-js 模块,并尝试在 Rhino 上运行它。任何人都可以提出更好的方法吗?

javascript java rhino eslint

5
推荐指数
0
解决办法
459
查看次数