独立构件风格之C2风格
新增C2组件:移位运算
主要代码
public class Yiwei extends C2Component{public Yiwei(String host, int port, String user, String pwd) {super(host, port, user, pwd,"Yiwei");}@OverrideMsg getResult(String msg) {Msg m= JSON.parseObject(msg,Msg.class);if(m.getSymbol().equals("<<")){m.setResult(m.getX() << m.getY());}return m;}
}
调用
cal.AddWorkItem(new Msg("<<",1).ConvertToJson());
不同电脑之间的分布式功能调用:
两台主机组件和消息中间件配置:
主机IP | ADD | YIWEI | SUB | MUL | Cal | Activemq消息中间件 |
---|---|---|---|---|---|---|
192.168.199.211 | √ | √ | √ | |||
192.168.199.158 | √ | √ | √ |
192.168.199.211开启activemq消息中间件。并且启用SUB、MUL组件:
192.168.199.158 开启ADD、YIWEI组件
192.168.199.158开启CAL,并添加计算任务:
两台软件内部配置组件IP:
将IP配置为消息中间件所在的主机IP,实现对消息队列的监听。
192.168.199.158 IP配置如下:
192.168.199.211 IP 配置如下:
调试过程
先开启各个组件,再运行Cal任务。
打印了一些调试信息如下:
192.168.199.158 控制台打印:
192.168.199.211 控制台打印:
过程描述
C2风格是使用异步消息为主的连接件组织功能(构件)的一种模式。从上面我们可以大概捋出来过程。我认为主要就是各个组件(它们是分布式的,可以在不同的地方)都对消息队列进行监听,Cal添加任务,根据符号判断用来分发到各个不同的队列。然后各个组件监听到自己的队列有新的任务加进来,就调用getResult进行处理,然后再从"目标队列:queue://Cal-from:Yiwei-send:192.168.199.211-{"result":8,"symbol":"<<","x":4,"y":1}"这种打印信息可以了解到,Yiwei又返回信息给Cal告诉他我已经做完了。然后Cal进行下一个任务。
总的来说,实现了在不同的地方(分布式)完成一个任务不同步骤的计算。
独立构件风格之C2风格相关推荐
- 什么是独立构件架构风格
独立构件风格主要强调系统中的每个构件都是相对独立的个体,它们之间不直接通信,以降低耦合度,提升灵活性.独立构件风格主要包括:进程通讯和事件系统子风格. 1. 进程通信架构风格:构件是独立的过程,连接件 ...
- 软件体系结构C2风格
首先C2风格是最常用的一种软件体系结构风格.(下图为一个C2风格的架构图) C2是一种基于构件和消息的架构风格,可用于创建灵活的.可伸缩的软件系统.一个C2构架可以看成是按照一定规则由连接件连接的许多 ...
- phpbb风格模板_phpBB3风格(Style)定制
phpBB3把美工设计称之风格(Style),phpBB风格定制清晰地分为三个部分: 1. 模板修改:为了变换页面结构而修改模板文件. 2. 主题(Them)定制:通俗地说,就是更改页面的色调.色彩搭 ...
- phpbb风格模板_phpbb3 风格定制 | 学步园
phpBB3把美工设计称之风格(Style),phpBB风格定制清晰地分为三个部分: 1. 模板修改:为了变换页面结构而修改模板文件. 2. 主题(Them)定制:通俗地说,就是更改页面的色调.色彩搭 ...
- C++风格与C风格文件读写效率测试-vs2015,vs2017
C++风格与C风格文件读写效率测试-vs2015,vs2017 1 void test_write() 2 { 3 const int TEST_SIZE = 100000000; 4 const c ...
- Portrait Photography: Ten Styles with One Light 人像摄影:一种风格的十种风格 Lynda课程中文字幕
Portrait Photography: Ten Styles with One Light 中文字幕 人像摄影:一种风格的十种风格 中文字幕Portrait Photography: Ten St ...
- QT 黑色风格+白色风格+淡蓝色风格样式表。
QT 黑色风格+白色风格+淡蓝色风格样式表 下载链接:https://download.csdn.net/download/weixin_43607300/13992478 加载样式表程序: //加载 ...
- Google 开源项目风格指南--C++ 风格指南
6. 命名约定 最重要的一致性规则是命名管理. 命名风格快速获知名字代表是什么东东: 类型? 变量? 函数? 常量? 宏 ... ? 甚至不需要去查找类型声明. 我们大脑中的模式匹配引擎可以非常可靠的 ...
- matlab实现手绘风格(简笔画风格、漫画风格)的曲线绘图
matlab实现手绘风格(简笔画风格.漫画风格)的曲线绘图 matlab实现手绘风格(简笔画风格.漫画风格)的曲线绘图 1 网站上的实现方法 2 自己的实现方法 matlab实现手绘风格(简笔画风格. ...
最新文章
- 铁路网上购票需要完善但值得鼓励
- linux无显卡运行程序,Ubuntu中在应用程序菜单添加未显示的应用程序启动器
- leetcode 752. 打开转盘锁 c代码
- 对话找钢网创始人王东:电竞少年凭什么革了钢贸行业的命?
- 在python中 函数赋值给变量时,需要注意的几个事项
- 家门口的医疗新体验,网易云信携手嘉虹健康打造互联网医院新场景
- django链接数据库报错Error loading MySQLdb module:No module named MySQLdb
- 盲僧一键r闪用什么设置_美加狮R.A.T. PRO X3至尊版带你畅玩模拟飞行
- HDU - 4456 Crowd
- 使用RegistryKey的一个注意点
- 恒州诚思——2022-2028全球氯化钬行业调研及趋势分析报告
- NetSuite高级打印模板设置
- JavaWeb相关知识和技巧概括
- Voxel RCNN:高性能3D目标检测网络(AAAI2021)
- Spring batch教程 之 读取CSV文件并写入MySQL数据库
- 社会保险法相关知识--调基
- [BD 41-758] The following clock pins are not connected to a valid clock source
- Ansible——Ansible的练习
- CityEngine 初探
- 《计算机问题求解》总结——2014年CCF计算机课程改革导教班(2014.07.11)
热门文章
- 计算机毕业设计之百货中心供应链管理系统
- 百度外链指向不良网站的背后 究竟谁之过?
- 合成迪丽热巴下海_F4同台是虚拟合成,只有吴建豪到了现场,那F4其他三子呢?...
- java毕业生设计员工培训管理系统计算机源码+系统+mysql+调试部署+lw
- Sybase的安装、配置及使用(一)
- Jenkins的Credentials(证书)管理
- java视频上传与播放功能
- php代码实现xml格式转换,PHP实现XML与数据格式进行转换类实例
- 计算机毕业设计asp.net的幼儿园接送信息管理系统(源码+系统+mysql数据库+Lw文档)
- dns配置的测试方法