2012-02-16 56 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