新增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. 什么是独立构件架构风格

    独立构件风格主要强调系统中的每个构件都是相对独立的个体,它们之间不直接通信,以降低耦合度,提升灵活性.独立构件风格主要包括:进程通讯和事件系统子风格. 1. 进程通信架构风格:构件是独立的过程,连接件 ...

  2. 软件体系结构C2风格

    首先C2风格是最常用的一种软件体系结构风格.(下图为一个C2风格的架构图) C2是一种基于构件和消息的架构风格,可用于创建灵活的.可伸缩的软件系统.一个C2构架可以看成是按照一定规则由连接件连接的许多 ...

  3. phpbb风格模板_phpBB3风格(Style)定制

    phpBB3把美工设计称之风格(Style),phpBB风格定制清晰地分为三个部分: 1. 模板修改:为了变换页面结构而修改模板文件. 2. 主题(Them)定制:通俗地说,就是更改页面的色调.色彩搭 ...

  4. phpbb风格模板_phpbb3 风格定制 | 学步园

    phpBB3把美工设计称之风格(Style),phpBB风格定制清晰地分为三个部分: 1. 模板修改:为了变换页面结构而修改模板文件. 2. 主题(Them)定制:通俗地说,就是更改页面的色调.色彩搭 ...

  5. C++风格与C风格文件读写效率测试-vs2015,vs2017

    C++风格与C风格文件读写效率测试-vs2015,vs2017 1 void test_write() 2 { 3 const int TEST_SIZE = 100000000; 4 const c ...

  6. Portrait Photography: Ten Styles with One Light 人像摄影:一种风格的十种风格 Lynda课程中文字幕

    Portrait Photography: Ten Styles with One Light 中文字幕 人像摄影:一种风格的十种风格 中文字幕Portrait Photography: Ten St ...

  7. QT 黑色风格+白色风格+淡蓝色风格样式表。

    QT 黑色风格+白色风格+淡蓝色风格样式表 下载链接:https://download.csdn.net/download/weixin_43607300/13992478 加载样式表程序: //加载 ...

  8. Google 开源项目风格指南--C++ 风格指南

    6. 命名约定 最重要的一致性规则是命名管理. 命名风格快速获知名字代表是什么东东: 类型? 变量? 函数? 常量? 宏 ... ? 甚至不需要去查找类型声明. 我们大脑中的模式匹配引擎可以非常可靠的 ...

  9. matlab实现手绘风格(简笔画风格、漫画风格)的曲线绘图

    matlab实现手绘风格(简笔画风格.漫画风格)的曲线绘图 matlab实现手绘风格(简笔画风格.漫画风格)的曲线绘图 1 网站上的实现方法 2 自己的实现方法 matlab实现手绘风格(简笔画风格. ...

最新文章

  1. 铁路网上购票需要完善但值得鼓励
  2. linux无显卡运行程序,Ubuntu中在应用程序菜单添加未显示的应用程序启动器
  3. leetcode 752. 打开转盘锁 c代码
  4. 对话找钢网创始人王东:电竞少年凭什么革了钢贸行业的命?
  5. 在python中 函数赋值给变量时,需要注意的几个事项
  6. 家门口的医疗新体验,网易云信携手嘉虹健康打造互联网医院新场景
  7. django链接数据库报错Error loading MySQLdb module:No module named MySQLdb
  8. 盲僧一键r闪用什么设置_美加狮R.A.T. PRO X3至尊版带你畅玩模拟飞行
  9. HDU - 4456 Crowd
  10. 使用RegistryKey的一个注意点
  11. 恒州诚思——2022-2028全球氯化钬行业调研及趋势分析报告
  12. NetSuite高级打印模板设置
  13. JavaWeb相关知识和技巧概括
  14. Voxel RCNN:高性能3D目标检测网络(AAAI2021)
  15. Spring batch教程 之 读取CSV文件并写入MySQL数据库
  16. 社会保险法相关知识--调基
  17. [BD 41-758] The following clock pins are not connected to a valid clock source
  18. Ansible——Ansible的练习
  19. CityEngine 初探
  20. 《计算机问题求解》总结——2014年CCF计算机课程改革导教班(2014.07.11)

热门文章

  1. 计算机毕业设计之百货中心供应链管理系统
  2. 百度外链指向不良网站的背后 究竟谁之过?
  3. 合成迪丽热巴下海_F4同台是虚拟合成,只有吴建豪到了现场,那F4其他三子呢?...
  4. java毕业生设计员工培训管理系统计算机源码+系统+mysql+调试部署+lw
  5. Sybase的安装、配置及使用(一)
  6. Jenkins的Credentials(证书)管理
  7. java视频上传与播放功能
  8. php代码实现xml格式转换,PHP实现XML与数据格式进行转换类实例
  9. 计算机毕业设计asp.net的幼儿园接送信息管理系统(源码+系统+mysql数据库+Lw文档)
  10. dns配置的测试方法