问题标签 [akka-remote-actor]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
scala - Scala protobuffer 消息使用错误的序列化程序和 Akka Remoting
我一直在尝试让 Scala Protobuf 消息与 Akka protobuf 序列化程序一起使用,但是当我通过远程处理发送消息时,我不断收到此响应
在应用程序配置中,我有这个设置
这些消息在一个单独的项目中编译,其中包含 proto 文件,src/main/protobuf
并使用 sbt 和 ScalaPB ( "com.trueaccord.scalapb" % "sbt-scalapb" % "0.4.20"
) 插件进行编译。
有什么线索吗?
scala - Akka Actor:远程 Actor 异常“Futures timed out after”
我是 Akka 的新手,我正在使用Akka 2.3.3
版本来创建演员。我将创建远程参与者并尝试使用客户端访问。每当我要运行测试用例时,都会抛出以下异常:
我的服务器代码如下: Main.scala
应用程序.conf:
AkkadmeyDB.scala Actor 类:
客户端代码如下:SClient.scala
SClientIntegrationSpec.scala 测试用例:
当我看到我的远程应用程序的日志时,这似乎是请求命中并没有转到服务器。我的示例代码运行有什么问题?
scala - 有没有办法将用我自己的类键入的消息发送给 Akka 远程参与者?
有没有办法将用我自己的类键入的消息发送给远程参与者?
例如,我希望能够在我的远程演员中收到这样的消息:
但我得到一个错误local class incompatible
,因为serialVersionUID
它们不同。
我发现发送 MyClass 类型消息的唯一方法是在 Json 中序列化它。但是我必须对其进行序列化/反序列化,而且更有问题的是,我没有一种干净的方式来接收两种类型的消息......
那么有没有办法向远程参与者发送强类型消息?如果没有,解决方法是什么?
scala - 关闭akka远程客户端的建议方法是什么
如果我禁用 A 线,HelloRemote 应用程序无法接收到消息“hello world”,似乎如果我们关闭本地actor系统太快,消息不会发送到远程?
当然,本地actor可以等待来自远程的消息来确认已经收到的消息,但是如果我们添加这样的代码,过程将是同步的,我不希望事情变成像RPC这样的东西。
我只想让它异步,也不想浪费时间在“Thread.sleep(3000)”上,我希望客户端尽快退出,有什么建议吗?
HelloRemote.scala
本地.scala
此外,粘贴 application.conf 以便您轻松尝试。
远程部分:
本地部分:
java - java akka默认序列化程序警告
我不想禁用警告消息,因为我想知道如何实现定义序列化程序以提高性能的建议?
akka.net - Akka.Remoting 中的非关联异常
使用 Akka.net 我正在尝试实现简单的场景。我创建了 2 个服务器和 1 个客户端,其中服务器接收客户端发送的消息并对其进行处理。
安装程序有时工作正常,有时会出现以下错误,我无法找出原因:
**
**
客户端配置:
服务器配置:
我也使用 Newtonsoft.Json 进行序列化,如下所示:
akka - 启动 Akka Remoting 时禁用“Starting remoting”输出
每次我启动 Akka Remoting 时,它都会记录
但是,我想禁用这些消息。我试过设置akka.remote.log-remote-lifecycle-events = off
,但这并没有禁用这些特定的消息。我也想避免简单地设置akka.loglevel = off
.
我正在使用 Akka 和 Akka-remote 的 2.4.10 版本。
scala - 在不使用路由器的情况下在远程节点上创建 akka actor
我正在开发一个需要 akka 集群的应用程序。我能够创建 akka 集群并创建演员并向他们传递消息。
以下是我的配置:
以下是我能够在远程节点上创建演员的示例代码。
上面的代码在路由器的帮助下创建了远程参与者。
如果我尝试在没有路由器帮助的情况下创建演员:val actorA = actorSystem.actorOf(Props[Logger])
然后在我的本地系统上创建演员。
有没有办法在不使用路由器或不告诉远程节点我想在哪里创建演员的情况下在远程节点上创建演员?
基本上我想要的是:val actorA = actorSystem.actorOf(Props[Logger])
应该在集群中的任何随机节点(包括本地节点)上创建参与者。
scala - Akka 循环:从远程路由向发送者发送响应
我正在使用 Akka Cluster(版本 2.4.10),其中很少有节点被指定为“前端”角色,而其他节点很少被指定为“工人”。工人在远程机器上。传入的工作由前端参与者通过循环路由分配给工作人员。问题是将“工人”的响应发回给前端参与者。我可以看到工作正在由工人完成。但是工人发送到前端的消息没有到达并最终成为死信。我在日志中看到以下错误。
我已经看到了这一点,并且在我的代码中也遵循了同样的方法。我也看过这个,但建议的解决方案不适用于这种情况,因为我不知道预先的路由。它通过配置来实现,并且可以更改。循环路由器配置如下。
路由器在前端actor中实例化,如下所示。
控制器和工人代码如下。
请让我知道我在这里做错了什么。感谢你的帮助。
scala - 如何使用 Akka 远程处理通过 CLI 向远程参与者发送消息?
我有一个远程演员Bar
和一个本地演员,Foo
. 我想用来在每次调用 CLIFoo
时传递消息。Bar
Bar
可以成功传递消息,但Foo
在等待消息时挂起。为了解决这个问题,我在mainsys.exit(0)
的末尾添加了一个。Foo
这会导致与系统的关联问题Foo
。
如何在连续 CLI 发布之间关闭我的本地演员,而无需手动杀死我的本地演员?
闭嘴,给我密码!
福:
build.sbt
Main.scala
应用程序.conf
酒吧:
构建.sbt
Main.scala
应用程序.conf
运行Foo
,sbt 'run-main Main -m hello'
并Bar
运行sbt 'run-main Main'
。
抱歉,代码很长,但这是我的问题的 MVCE。
我怎样才能实现我想要的行为——CLI 参与者在连续 CLI 调用之间死亡,远程参与者等待新消息。