我目前正在寻找akka.net(.NET版本)的可视化工具。我没有找到,所以我想知道是否有任何方法可以让akka-tree(scale)和akka.net集群协同工作。我想如果两个框架遵循相同的规范,那么它应该工作。是吗?
我尝试在akka-tree中提出这个问题,但没有回应,所以我在这里试试运气。
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地址akka-tree \ visualizer \ app \ controllers \ Application.scala
val group = InetAddress.getByName("127.0.0.1");
但是,不起作用..任何想法如何让它工作?谢谢!
更新
我尝试使用TCP但不起作用。
当我访问网页“localhost:90000”时,我收到以下异常。我不熟悉Scale,但我认为它与比例安装有关。我在我的机器上安装了scale和java ..
[info]编译1个Scala源代码 D:\ git \ akka-tree \ visualizer \ target \ scala-2.11 \ classes ... [info]播放 - 应用程序启动(Dev)[错误]应用程序 -
!内部服务器错误,对于(GET)[/] - >
java.lang.ExceptionInInitializerError:null 在Routes $$ anonfun $ routes $ 1 $$ anonfun $ applyOrElse $ 1 $$ anonfun $ apply $ 1.appl y(routes_routing.scala:72)〜[na:na] 在Routes $$ anonfun $ routes $ 1 $$ anonfun $ applyOrElse $ 1 $$ anonfun $ apply $ 1.appl y(routes_routing.scala:72)〜[na:na] 在play.core.Router $ HandlerInvokerFactory $$ anon $ 13 $$ anon $ 14.call(路由器。 scala:217)〜[play_2.11-2.3.7.jar:2.3.7] 在play.core.Router $ Routes $ TaggingInvoker.call(Router.scala:464)〜[play_ 2.11-2.3.7.jar:2.3.7] 在Routes $$ anonfun $ routes $ 1 $$ anonfun $ applyOrElse $ 1.apply(routes_routing。 scala:72)〜[na:na]引起:java.net.SocketException:不是 多播地址 在java.net.MulticastSocket.joinGroup(未知来源)〜[na:1.8.0_51] 在controllers.Application $。(Application.scala:16)〜[na:na] 在controllers.Application $。(Application.scala)〜[na:na] 在Routes $$ anonfun $ routes $ 1 $$ anonfun $ applyOrElse $ 1 $$ anonfun $ apply $ 1.appl y(routes_routing.scala:72)〜[na:na] 在Routes $$ anonfun $ routes $ 1 $$ anonfun $ applyOrElse $ 1 $$ anonfun $ apply $ 1.appl y(routes_routing.scala:72)〜[na:na] [error] application - 出错时 渲染默认错误页面scala.MatchError: java.lang.ExceptionInInitializerError(类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] [错误]申请 -
!内部服务器错误,(HEAD)[/] - >
java.lang.NoClassDefFoundError:无法初始化类 controllers.Applicati on $ 在Routes $$ anonfun $ routes $ 1 $$ anonfun $ applyOrElse $ 1 $$ anonfun $ apply $ 1.appl y(routes_routing.scala:72)〜[na:na] 在Routes $$ anonfun $ routes $ 1 $$ anonfun $ applyOrElse $ 1 $$ anonfun $ apply $ 1.appl y(routes_routing.scala:72)〜[na:na] 在play.core.Router $ HandlerInvokerFactory $$ anon $ 13 $$ anon $ 14.call(路由器。 scala:217)〜[play_2.11-2.3.7.jar:2.3.7] 在play.core.Router $ Routes $ TaggingInvoker.call(Router.scala:464)〜[play_ 2.11-2.3.7.jar:2.3.7] 在Routes $$ anonfun $ routes $ 1 $$ anonfun $ applyOrElse $ 1.apply(routes_routing。 scala:72)〜[na:na] [error] application - 渲染默认时出错 错误页面scala.MatchError:java.lang.NoClassDefFoundError:无法 初始化类控制器。应用程序$(类 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 :(得分:2)
我不是作者,但是在nuget https://www.nuget.org/profiles/corneliutusnea上有一个移植到.NET(从16年8月开始)的可视化工具的'非常非常alpha版本' 来源https://github.com/corneliutusnea/Akka.Visualizer
答案 1 :(得分:1)
问题在于,您尝试跨.NET和JVM akka实现跨越集群。它们目前彼此不兼容。原因是.NET / JVM套接字传输层存在一些差异(如小端和大端字节排序)以及消息序列化问题(JVM使用内置JavaSerializer,.NET默认使用JSON.NET)。
可能还有其他一些小问题,但结论是,目前你无法在.NET和JVM节点之间组合akka集群。