2012-02-16 53 views
4

有没有一种方法可以从一个java程序中逐步执行java脚本?从java中调用java的一步一步

我知道如何从java调用javascript。我知道Rhino或Beanshell。 没有涉及网络服务器。

我想实现的是: 有多个脚本执行半调度程序并行调度,其中每个脚本每隔一段时间就会得到一个“滴答”,并在其中执行一个原子命令,就像在调试器中一样。这也应该'进入'功能和/ while循环。

我需要在特定时间调用脚本'tick'(并立即返回),所以真正的线程是没有用的。

所以我想我想要的方式来调试一个脚本从一个Java程序中没有调试器(及其开销)参与。只需逐步执行即可。

任何想法?

+0

U是指从Java调用Javascript?如果是这种情况,请使用Rhino – DaTroop 2012-02-16 08:44:45

+0

您的意思是在网站上调用JavaScript,或者只是从java中调用_execute_ JavaScript脚本? – 2012-02-16 08:44:58

+0

从Java执行它们。这是你想要的吗? – DaTroop 2012-02-16 08:47:39

回答

3

是的,它可以通过使用解释器。更具体地说,您需要一个可以在JVM上执行的JavaScript解释器。犀牛似乎是最受欢迎的一种。

http://www.mozilla.org/rhino/

如果您同时运行的脚本,那么你将需要为每个并发的脚本解释器。

+0

我编辑我的帖子,以反映我已经知道犀牛。我的问题更具体一点。 _tick_上的任何想法? – DerTroglodyt 2012-02-16 09:03:30

+0

好的,这将是一个棘手的问题,并且非常确定在其API中没有提供功能。您需要通过添加一些易失性标志来指示解释下一个JavaScript命令来编辑JavaScript解释器的源代码。您的标记需要将标记设置为true,然后在阅读解释语句后需要解释器将标记设置为假,然后需要等待标记设置为true。 – algolicious 2012-02-16 09:20:28

+0

我希望有一个更简单的方法,但期望得到如下的结果:-(我会在找到时间的时候考虑这个问题,无论如何,谢谢 – DerTroglodyt 2012-02-16 09:23:34