Akka/Java getContext().become 带参数?

2024-02-19

在 Akka/Scala 中,可以将参数传递给自定义接收函数,因此可以通过 params 传递整个 actor 状态,而无需使用可变变量。

context.become(myCustomReceive(param1, param2))

但在 Java Api 中,您只能传递将接收到的消息作为唯一参数的过程

getContext().become( new Procedure<Object> {
  public void apply(Object param) throws Exception
  {
    // ... 
  }
}

有没有一种干净的方法可以在 Java 中完成同样的操作?


我会这样做

class ProcedureWithParams<T> extends Procedure<T> {
   Object param1;
   Object param2;

   ProcedureWithParams(Object param1, Object param2) {
      this.param1 = param1;
      this.param2 = param2;
   }

   public void apply(Object param) throws Exception {
    //access para1 and param2 here
   }

}

getContext().become( new ProcedureWithParams(param1, param2))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Akka/Java getContext().become 带参数? 的相关文章

随机推荐

  • 如何列出 JAR 的依赖项

    是否有一个工具可以列出包含 JAR 中引用的 第三方 类的第三方 包 假设它会从 JAR 文件定义中识别什么是 主 包 并且会打印出 JAR 中引用的第三方类的完全限定名称列表 最高可达第三级 org apache commons org
  • 使用 Tensorflow 可以实现增量学习吗?

    我正在尝试使用非常大的数据集 比我的记忆大得多 训练 Tensorflow 模型 为了充分利用所有可用的训练数据 我正在考虑将它们分成几个小 碎片 并一次在一个碎片上进行训练 经过一番研究 我发现这种方法通常被称为 增量学习 并基于这个维基
  • 我应该封装我的 IoC 容器吗?

    想要改进这篇文章吗 提供此问题的详细答案 包括引用和解释为什么你的答案是正确的 不够详细的答案可能会被编辑或删除 我正在尝试确定花费额外的精力来封装 IoC 容器是否有意义 经验告诉我 我应该在我的应用程序和任何第三方组件之间放置一层封装
  • 使用KafkaListener时,如何检查主题消息是否已读完?

    使用 KafkaListener时 如何检查主题消息是否已读完 See 这个答案 https stackoverflow com questions 55430893 how to check if kafka is empty using
  • 使用 * 和 & 比较值是否相等有什么区别?

    我想我在很高的水平上理解两者之间的区别 and Rust 中的内容与内存管理有关 下面的代码片段有什么区别 应用一种方法与另一种方法相比是否存在危险 for i item in bytes iter enumerate if item b
  • Spring JPA Projection 包括链接

    给定一个简单的 Event 模型 它具有一组 Booking 对象 Event Entity public class Event Id GeneratedValue strategy GenerationType AUTO private
  • 将 Google 字体与 Shadow DOM 结合使用 [重复]

    这个问题在这里已经有答案了 我正在尝试在内容脚本端的扩展中使用谷歌字体 我下载并从扩展目录加载的 Noto 字体可以工作 它也在 web accessible resources 中声明 并且在 ShadowDOM 中工作正常 但谷歌字体不
  • Maven 3/Mercury 的良好学习资源

    我一直在尝试了解有关 Maven 3 和 Mercury 的更多信息 Maven Mercury 是 Maven Artifact 子系统的替代品 并且完全替代现有传输的 HTTP HTTPS DAV DAVS 部分 目前似乎可用的实质性内
  • 点阵图条件填充颜色

    Problem 我有一个数据框 我想用lattice的面板点图 不是ggplot2 对其进行可视化 它包含一个变量 应有条件地使用该变量通过不同的颜色填充突出显示数据 可重现的例子 require lattice Make reproduc
  • imp.load_source 方法的第一个参数有什么作用?

    我正在阅读this https stackoverflow com questions 67631 how to import a module given the full path关于从绝对路径导入模块的问题 答案建议使用以下代码 im
  • 如何在 NHibernate 中对两个表进行并集?

    我需要使用 NHibernate 和 HQL 来合并两个表 我在网上找到的帮助很少 我想知道这是否可能 如果可能的话如何 找到了我的答案 http www hibernate org 117 html A21 http www hibern
  • 资源规格和代理跟踪

    我需要解决一个问题 但由于缺乏 Java 培训 我无法解决该问题 要编写什么代码来跟踪获取资源的代理 让我更好地解释一下 我有一系列房间 每个进入该结构的特工都会占用一个房间 并在整个住宿期间保留该房间 我想实时查看哪些房间被占用以及由哪个
  • Int32 的 GetHashCode() 是如何实现的?

    我到处找遍了 但什么也没找到 有人能解释一下吗 根据反射镜 public override int GetHashCode return this 有道理 不是吗
  • 工厂方法 (1) vs 工厂 (2) vs Builder (3) 模式

    用途 1 2 3 的用例是什么 使用它有什么优点和缺点 他们之间有什么区别 工厂方法模式 这种模式与工厂模式非常相似 客户端也从类层次结构中向工厂请求特定类型的对象 但是工厂模式的 Create 方法工厂类将特定对象的创建委托给派生类并返回
  • 如何从管道 (jenkinsfile) 中使用 Jenkins Copy Artifacts 插件?

    我试图找到一个在 Jenkins 管道 工作流程 中使用 Jenkins Copy Artifacts 插件的示例 谁能指出使用它的示例 Groovy 代码吗 通过声明式 Jenkinsfile 您可以使用以下管道 pipeline age
  • 超时已过。操作完成前超时时间已过或服务器未响应

    运行 ssis 包时 我在 ADO net 源中调用 sp 但出现此错误 超时已过 操作完成之前超时时间已过 或者服务器没有响应 我已将命令超时设置为 0 无限时间 但仍然收到错误 sp 在 sql server 中工作正常 大约需要 31
  • Android Studio 签名的 APK 未安装

    我在 Android Studio 中 在 构建 gt 生成签名的 APK 下签署 APK 并使用向导 一切似乎都正常 并生成了一个 apk 文件 当我将此文件复制到我的设备 Nexus 7 或 Moto X 时 它不会安装 我收到 安装失
  • 单击电子邮件链接时出现不受支持的操作错误

    我已在 xml 中提供了指向 TextView 的电子邮件链接 但当我单击 TextView 时 它显示不支持的操作错误 如何将活动链接放在文本视图中的电子邮件上 这是我的 string xml 文件的代码
  • 如何禁用 UIScrollView 的水平滚动?

    我有一个UIView就像iPhone的跳板一样 我已经使用创建它UIScrollView and UIButtons 我想禁用所述滚动视图上的水平滚动 我只想要垂直滚动 我该如何实现这个目标 你必须设置contentSize的财产UIScr
  • Akka/Java getContext().become 带参数?

    在 Akka Scala 中 可以将参数传递给自定义接收函数 因此可以通过 params 传递整个 actor 状态 而无需使用可变变量 context become myCustomReceive param1 param2 但在 Jav