12、play整合Akka
1、简介
Akka使用actor模型来提高抽象级别,并提供一个更好的平台来构建正确的并发和可扩展的应用程序。在容错方面,它采用了“Let it crash”的模式,这种模式在电信行业获得了巨大成功,用于构建永不停止的自我修复系统应用程序。参与者还提供透明分布的抽象,以及真正可扩展和容错应用程序的基础。
2、Actor应用系统
Akka工作需要依赖包含actor(容器)系统的应用程序。Play定义了特殊的actor系统,此actor系统遵循应用程序生命周期,并在应用程序重新启动时自动重新启动。
3、定义Actor
使用Akka之前需要先创建Actor,如下所示:
HelloActor定义了一个名为getProps的静态方法,该方法返回一个Props对象,该对象描述了如何创建Actor。这是一个很好的AKKA约定,将实例化逻辑与创建参与者的代码分开。
4、创建并使用Actor
上边定义好了Actor,接下来需要创建Actor并使用他。创建时需要一个ActorSystem,可以使用依赖注入的方式直接注入即可,之后使用它的actorof方法即可创建对应的Actor,如下:
5、依赖注入Actor
首先创建actor,如果actor需要依赖一些组件,可以直接依赖,如下:
绑定actor,操作如下:
然后将MyModule注册到application.conf
6、Actor系统配置
默认情况下的配置方式:
可以自定义前缀:
这是再配置方式如下:
ActorSystem默认配置名称是application,可以通过下边的方式进行修改:
AKKA中的一个常见用例是在不需要参与者的额外实用程序的情况下并发地执行一些计算,如下:
7、Akka协停
play使用akka的协调关闭来处理应用程序和服务器的关闭。play只处理其内部actor系统的关闭。如果您使用的是额外的actor系统,请确保它们都已终止,并且可以自由地将终止代码迁移到协调关闭状态。
8、更改Akka版本
12、play整合Akka相关推荐
- Minecraft Java版1.12.2整合包崩溃求助
HMCL崩溃 版本1.12.2整合包崩溃 日志 Command: "C:\Program Files (x86)\Java\jre\bin\javaw.exe" -Dminecra ...
- 数据湖(十二):Spark3.1.2与Iceberg0.12.1整合
文章目录 Spark3.1.2与Iceberg0.12.1整合 一.向pom文件导入依赖
- 【SpringBoot】12.SpringBoot整合Dubbo+Zookeeper
1. 准 备 1.1 Dubbo 简介 Apache Dubbo 是一款高性能.轻量级的开源 Java RPC 框架,它提供了三大核心能力:面向接口的远程方法调用.智能容错和 负载均衡.以及服务自动注 ...
- Spring学习12之整合Mybatis
前言 Spring两大核心,IOC,AOP. 一.整合Mybatis 1.编写数据源配置 2.sqlSessionFactory 3.sqlSessionTemplate 4.需要给接口加实现类 5. ...
- Spring原理篇(12)--架构整合流程;该篇章讲解Spring在整合架构的时候的思路;
@TOC# Spring系列 记录在程序走的每一步___auth:huf 该篇章讲解架构整合的思路: 讲解该篇章主要是为了将之前的知识点进行一个串联: 有很多接口 我仅仅是介绍了它们的使用:并没有实战 ...
- 学成在线--12.Spring整合RibbitMQ
文章目录 一.搭建SpringBoot环境 二.配置 1.配置application.yml 2.定义RabbitConfig类 三.生产端 四.消费端 一.搭建SpringBoot环境 我们选择基于 ...
- 金蝶K3 15.0 K/3 V15.0第13个整合补丁PT153081(2020年12月,整合55个补丁)PT151645 PT150588 PT149587 PT148471 PT146240
金蝶K3 15.0 K/3 V15.0第13个整合补丁PT153081(2020年12月,整合55个补丁) 历史发放的整合补丁如下: 第1个整合补丁 PT137552 第2个整合补丁 PT138993 ...
- SpringBoot2 整合Ehcache组件,轻量级缓存管理
本文源码:GitHub·点这里 || GitEE·点这里 一.Ehcache缓存简介 1.基础简介 EhCache是一个纯Java的进程内缓存框架,具有快速.上手简单等特点,是Hibernate中默认 ...
- SpringBoot2 整合MinIO中间件,实现文件便捷管理
本文源码:GitHub·点这里 || GitEE·点这里 一.MinIO简介 1.基础描述 MinIO是一个开源的对象存储服务.适合于存储大容量非结构化的数据,例如图片.视频.日志文件.备份数据和容器 ...
最新文章
- 面试收集--卡特兰数(Catalan数)应用
- halcon可以用python吗_如何基于pythonnet调用halcon脚本
- web ch6 表单基础(部分选学)
- Web应用性能分析工具—HAR文件
- 【渝粤题库】国家开放大学2021春1334纳税筹划题目
- vuejs 轮播_如何在VueJS中设计和构建轮播功能
- java 输出流_Java中输入输出流方法总结
- gdb 收到SIGPIPE信号
- MySQL常用函数系列之九:日期和时间函数 函数(4)
- ssis组件_SSIS脚本组件概述
- sybase 性能监控及调优(转)
- 查询 加载时间过长添加提示信息
- python按键退出循环_Python的for循环退出
- Sublime LiveReload
- 2022搜狐校园NLP算法大赛情感分析第一名方案理解和复现
- 计算机休眠期死机,电脑休眠状态频繁死机怎么处理
- 计算机 桌面上的文件怎么发送,文本文件如何发送到QQ邮箱里?
- wxPython控件大全
- [转载] 财经郎眼20120623:房地产松绑疑云
- C 连接ACCESS数据库代码实例
热门文章
- 计算机技术题目,计算机技术题目.doc
- java实用教程——组件及事件处理——布局管理(五种)
- 后端学习 - 设计模式与设计原则
- 堆栈的定义与操作-顺序存储,链式存储(C语言)
- [数据结构-严蔚敏版]P46栈的顺序存储表示
- C++map容器-构造和赋值
- 找出最大值和最小值(算法导论第三版9.1-2)
- 两数之和,输入有序数组 leetcode C++
- Matlab出现On Startup: Error using eval undefined function 'workspacefunc' for input arguments of type
- #3027. [Ceoi2004]Sweet 生成函数 + 组合数学