2015-08-27 34 views
0

我目前正在尋找akka.net(.NET版本)的可視化工具。我沒有找到,所以我想知道是否有任何方法可以使akka-tree(縮放)和akka.net羣集一起工作。我猜如果兩個框架都遵循相同的規範,那麼它應該工作。是嗎?如何使akka-tree與akka.net集羣一起工作?

我試過在阿卡樹問這個問題,但沒有迴應,所以我在這裏嘗試我的運氣。

https://github.com/nraychaudhuri/akka-tree/issues/15

我不熟悉,但規模我做了以下的變化。

我試着在我的akka​​.net示例中添加UDP配置,因爲我認爲這個可視化器使用的是UDP。

 helios.udp { 
       port = 9003 # needs to be on a different port or IP than TCP 
       hostname = localhost 
      } 

然後,我想在這個文件中更改IP地址阿卡樹\可視\程序\ \控制器Application.scala

  val group = InetAddress.getByName("127.0.0.1"); 

但是,不能正常工作。任何想法如何使其工作?謝謝!

更新:

我嘗試使用TCP,但不起作用。

當我訪問網頁「localhost:90000」時,我得到下面的異常。我並不熟悉Scale,但我認爲它與Scale的安裝有關。我確實在我的機器上安裝了規模和java。我的機器上安裝了規模和java ..

[info] Compiling 1 Scala source to D:\git\akka-tree\visualizer\target\scala-2.11 \classes... [info] play - Application started (Dev) [error] application -

! Internal server error, for (GET) [/] ->

java.lang.ExceptionInInitializerError: null at Routes$$anonfun$routes$1$$anonfun$applyOrElse$1$$anonfun$apply$1.appl y(routes_routing.scala:72) ~[na:na] at Routes$$anonfun$routes$1$$anonfun$applyOrElse$1$$anonfun$apply$1.appl y(routes_routing.scala:72) ~[na:na] at play.core.Router$HandlerInvokerFactory$$anon$13$$anon$14.call(Router. scala:217) ~[play_2.11-2.3.7.jar:2.3.7] at play.core.Router$Routes$TaggingInvoker.call(Router.scala:464) ~[play_ 2.11-2.3.7.jar:2.3.7] at Routes$$anonfun$routes$1$$anonfun$applyOrElse$1.apply(routes_routing. scala:72) ~[na:na] Caused by: java.net.SocketException: Not a multicast address at java.net.MulticastSocket.joinGroup(Unknown Source) ~[na:1.8.0_51] at controllers.Application$.(Application.scala:16) ~[na:na] at controllers.Application$.(Application.scala) ~[na:na] at Routes$$anonfun$routes$1$$anonfun$applyOrElse$1$$anonfun$apply$1.appl y(routes_routing.scala:72) ~[na:na] at Routes$$anonfun$routes$1$$anonfun$applyOrElse$1$$anonfun$apply$1.appl y(routes_routing.scala:72) ~[na:na] [error] application - Error while rendering default error page scala.MatchError: java.lang.ExceptionInInitializerError (of class java.lang.Exce ptionInInitializerError) at play.api.GlobalSettings$class.onError(GlobalSettings.scala:148) ~[pla y_2.11-2.3.7.jar:2.3.7] at play.api.DefaultGlobal$.onError(GlobalSettings.scala:206) [play_2.11- 2.3.7.jar:2.3.7] at play.core.server.Server$class.logExceptionAndGetResult$1(Server.scala :63) [play_2.11-2.3.7.jar:2.3.7] at play.core.server.Server$$anonfun$getHandlerFor$4.apply(Server.scala:7 3) [play_2.11-2.3.7.jar:2.3.7] at play.core.server.Server$$anonfun$getHandlerFor$4.apply(Server.scala:7 1) [play_2.11-2.3.7.jar:2.3.7] [error] application -

! Internal server error, for (HEAD) [/] ->

java.lang.NoClassDefFoundError: Could not initialize class controllers.Applicati on$ at Routes$$anonfun$routes$1$$anonfun$applyOrElse$1$$anonfun$apply$1.appl y(routes_routing.scala:72) ~[na:na] at Routes$$anonfun$routes$1$$anonfun$applyOrElse$1$$anonfun$apply$1.appl y(routes_routing.scala:72) ~[na:na] at play.core.Router$HandlerInvokerFactory$$anon$13$$anon$14.call(Router. scala:217) ~[play_2.11-2.3.7.jar:2.3.7] at play.core.Router$Routes$TaggingInvoker.call(Router.scala:464) ~[play_ 2.11-2.3.7.jar:2.3.7] at Routes$$anonfun$routes$1$$anonfun$applyOrElse$1.apply(routes_routing. scala:72) ~[na:na] [error] application - Error while rendering default error page scala.MatchError: java.lang.NoClassDefFoundError: Could not initialize class con trollers.Application$ (of class java.lang.NoClassDefFoundError) at play.api.GlobalSettings$class.onError(GlobalSettings.scala:148) ~[pla y_2.11-2.3.7.jar:2.3.7] at play.api.DefaultGlobal$.onError(GlobalSettings.scala:206) [play_2.11- 2.3.7.jar:2.3.7] at play.core.server.Server$class.logExceptionAndGetResult$1(Server.scala :63) [play_2.11-2.3.7.jar:2.3.7] at play.core.server.Server$$anonfun$getHandlerFor$4.apply(Server.scala:7 3) [play_2.11-2.3.7.jar:2.3.7] at play.core.server.Server$$anonfun$getHandlerFor$4.apply(Server.scala:7 1) [play_2.11-2.3.7.jar:2.3.7]

+0

你確定這不是一個傳輸層問題?目前UDP是二等公民的交通選擇,所以也許當你決定使用TCP時,它可能會解決你的問題? – Horusiath

+0

@Horusiath謝謝!我曾嘗試使用TCP,但得到了同樣的錯誤。我更新了我發佈的錯誤詳細信息。任何關於這個錯誤的想法?再次感謝! –

回答

1

問題是,您試圖將您的羣集跨越.NET和JVM akka實現。目前它們不兼容。原因是.NET/JVM套接字傳輸層(如小字節和大字節字節排序)以及消息序列化問題(JVM使用內置的JavaSerializer,.NET默認使用JSON.NET)。

可能還有其他一些小問題,但結論是,目前您無法在.NET和JVM節點之間組合akka集羣。

+1

我看到謝謝你的答案。是否有任何可視化的akka​​.net?如果什麼都沒有,是否可以給我一些關於如何開始自己做的指導?我對akka.net有點新,但我想我應該可以訂閱actor系統或集羣的事件流(或其他東西),這樣我就可以獲得演員創建事件和消息... –