paxPayment, ok = dataObject.(*entities.PassengerPayment)
括号用于什么用途?我不确定此分配操作中发生了什么。
您是否需要更多详细信息来回答这个问题?
这是一个类型断言。类型断言可用于:
引用规范:
对于
x
接口类型和类型T
的表达式,主要表达式x.(T)
断言
x
不是,nil
并且存储的值x
是typeT
。该符号x.(T)
称为 类型断言 。更精确地,如果
T
不是一个接口类型,x.(T)
断言,动态型的x
是相同的类型T
。在这种情况下,T
必须实现的(接口)类型x
;否则类型断言无效,因为无法x
存储type的值T
。如果T
为接口类型,x.(T)
则断言动态类型的x
实现接口T
。
更具体地说,您的示例是它的一种特殊形式,它还报告类型断言是否成立。如果不是,ok
将是false
,如果断言成立,ok
将是true
。
与以下形式不同,这种特殊形式永远不会惊慌:
paxPayment = dataObject.(*entities.PassengerPayment)
如果dataObject
不持有type值,*entities.PassengerPayment
则会感到恐慌。
我从这里得到上面的错误消息: 特别是从第二行。。进口是 akka版本是2.2.1,scala是2.10.2,我正在使用sbt 0.13来构建它。 编辑:我用 结果如下:
我所做的: null 更新:我发现了问题;它是由于通过池消耗Redis连接而导致的,并且从未释放它们。但我还有第二个问题,我在这里做的事情明智吗?
我们在使用Akka HTTP构建的web服务器上遇到了奇怪的内存行为。我们的架构是这样的: Web服务器路由调用各种参与者,为将来获取结果并将其流式传输到响应 参与者调用非阻塞操作(使用期货),组合和处理从中提取的数据,并将结果传送给发送者。我们使用标准的Akka Actor,实现它的receive方法(不是Akka键入的) 应用程序中的任何地方都没有阻止代码 当我在本地运行web服务器时,一开始
我经常发现自己使用一个“主”角色,为子任务创建许多子角色。当子任务完成时,主角也应该停止自己。所以当时,我观察子角色并停止主角色context.children.is。 我经常使用这种模式,但因为我从未读过这方面的文章。我不确定,这是一个好主意还是失败的演员有问题。。。? 我已经读过Akka 2中的关机模式,但是这种方法在Java中似乎比我的解决方案更复杂? 以下是我针对具有两个子任务的主要参与者
我希望有几个参与者(它们表示基于Akka IO部分的TCP连接)。这些参与者应更新通用模型(内存中)。此模型保存在管理此模型的其他参与者中。 我的问题是,我如何设置这个结构?有没有办法告诉akka某个演员只有一个实例? 另一种选择是:我已经有了一个actor,它接受新的TCP/IP连接并将它们传递给新的actor。现在我可以在连接接收器中创建这个“模型管理器角色”,并将这个角色传递给新创建的每个连