我有一个UntypedActor需要从application.conf中读取一个可配置的值。以下行有效,但似乎有点冗长。publicclassFooUntypedActorextendsUntypedActor{privatefinallongbar=context().system().settings().config().getLong("foo.bar");//otherstuff}这是在Akka中获取可配置值的正确方法吗?我可能应该明确表示我正在使用JavaAPI。 最佳答案 它要么是那个,要么是在它的构造函数中取值,所以
我在考虑将spark和redis与SBT一起使用。如果我注释掉spark依赖项,它运行良好,如果我包含我得到的spark依赖项:Exceptioninthread"main"java.lang.NoSuchMethodError:akka.actor.ActorSystem.dispatcher()Lscala/concurrent/ExecutionContextExecutor;atredis.RedisClientActorLike.(Redis.scala:31)atredis.RedisClient.(Redis.scala:69)当我不包含“redisscala”时,我没有
我的EmployeesRepository类中有一个具有以下签名的函数:deffindAllEmployeesById(ids:List[String]):Array[RedisFuture[String]]{...}我基本上是想将它传递给一个EmployeeREST类,它有一个GET方法,该方法接受一个List[String](employeeids)并且应该返回从Redis检索到的相应员工的JSON数组。我可以传入一个Array[RedisFuture[String]]吗?有没有办法让我真正实现这个,或者我是在以错误的方式思考它?有没有不同的方法来实现我在这里尝试实现的功能?
我正在尝试找出为java项目中的消息传递系统选择什么解决方案。到目前为止,我的发现主要集中在redis消息队列和java中的akka持久性。案例:系统从另一个组件接收同步请求。之后该系统负责将请求传递给异步处理程序(worker),并在worker完成工作时返回ack。我考虑过实现与每个请求(任务)相对应的消息队列或为此使用akka持久性。假设:worker(s)完成的任务相当繁重。必须处理worker的故障调查结果:Akka持久性通过akka-persistence提供可靠的消息传递和故障处理。就我个人而言,我不喜欢akka的Java代码、许多instanceof、强制转换等,但大多
我有一个使用PlayFramework2.2.0-scala构建的示例,它使用WebSockets将数据流式传输到客户端。我遇到的问题是,无论出于何种原因,父Actor的其中一个child没有被正确关闭。所有日志都表明它正在停止并且已经关闭,但我看到它实际上并没有通过向它发布数据来关闭。这是一些代码,首先是我的Controller操作:defscores(teamIds:String)=WebSocket.async[JsValue]{request=>valteamIdsArr:Array[String]=teamIds.split(",").distinct.map{el=>s"n
我的后端在Postgres中。我正在使用Scala来构建它的API。每次数据库发生变化时,我都希望我的chrome扩展程序得到通知。我对此有几个问题:我应该在这里实现websockets还是进行长轮询?如果是网络套接字,是否有任何很好的示例说明如何使用scala+play+Akka和javascript来做到这一点?我相信我必须实现一种称为观察者模式的东西,如果数据有任何变化,它会通知我的chrome扩展程序。是否有任何其他模式我应该遵循以最小的数据库开销来完成这样的事情。我应该使用Redis还是RabbitMQ来处理这个特定的通知部分? 最佳答案
我正在寻找Scala的Redis客户端实现。客户端应该是异步和非阻塞的,使用Akkafuture。我发现或多或少有用的:https://github.com/derekjw/fyrie-redishttps://github.com/debasishg/scala-redis但他们都有自己的问题。第一个使用旧版本的Akka,这会导致编译问题,第二个使用scala.actors.Futures.future而不是Akkafutures。我看到了几个月前的一段对话:groups.google.com/forum/#!msg/akka-user/EDKA2aTigho/_wWcNIz2O3w
我使用Node.js已经有一段时间了,我认为自己在Java方面做得很好。但我刚刚发现了Akka,并立即对它的actor模式感兴趣(据我了解)。现在,假设我的JavaScript技能与我的Scala/Java技能相当,我想专注于这两个系统的实用性。尤其是在网络服务方面。据我了解,Node擅长处理许多并发操作。我想一个用于Assets管理系统的优秀NodeWeb服务将擅长处理同时提交更改的许多用户(在大型、高流量的应用程序中)。但是在阅读了Akka中的Actor之后,它似乎会在同一件事上表现出色。我喜欢将工作减少到一口大小的想法。另外,几年前我涉足Erlang并爱上了它使用的消息传递系统。
我有一个非常基本的Akka-http应用程序,它基本上只是一个Hello-world设置-我已经定义了一个端点并将其简单地绑定(bind)到“localhost”和端口“8080”:objectMainextendsAppwithRoutes{privateimplicitvalsystem=ActorSystem()protectedimplicitvalexecutor:ExecutionContext=system.dispatcherprotectedimplicitvalmaterializer:ActorMaterializer=ActorMaterializer()pro
是否可以在NAT后面运行akka节点(每个节点都在单独的nat后面,公共(public)端口被DNAT化为私有(private))?目前我正在尝试在docker容器中部署akka节点。Docker将公共(public)端口Natting到实例私有(private)端口,问题是akka节点的地址是从akka.remote.netty.tcp.hostname创建的,但在natted环境中它与面向公共(public)的主机名不同。来自公共(public)接口(interface)的消息被拒绝,因为akka绑定(bind)到私有(private)IP。是否可以更改不尊重akka.remote