上一页 1 ··· 28 29 30 31 32 33 34 35 36 ··· 93 下一页
摘要: 复制topic的代码 把常量都设置成public方便其他的类引用 ExchangeBuilder里面有4个方法分别对应四个交换机。 声明Email和短信的队列 队列绑定交换机 所以需要把Bean注入到方法内,所以我们基于名称的注入,使用Qualifier,它会从容器里面去找基于这个容器的Bean 交 阅读全文
posted @ 2019-10-04 18:39 高山-景行 阅读(219) 评论(0) 推荐(0)
摘要: 我们选择基于Spring-Rabbit去操作RabbitMQ https://github.com/spring-projects/spring-amqp 使用spring-boot-starter-amqp会自动添加spring-rabbit依赖,如下: 加入引用的包 刷新一下包 消费者也加入包的 阅读全文
posted @ 2019-10-04 18:22 高山-景行 阅读(186) 评论(0) 推荐(0)
摘要: header模式 header模式与routing不同的地方在于,header模式取消routingkey,使用header中的 key/value(键值对)匹配 队列。 案例: 根据用户的通知设置去通知用户,设置接收Email的用户只接收Email,设置接收sms的用户只接收sms,设置两种 通知 阅读全文
posted @ 2019-10-04 18:12 高山-景行 阅读(185) 评论(0) 推荐(0)
摘要: 路由模式: 1、每个消费者监听自己的队列,并且设置带统配符的routingkey。 2、生产者将消息发给broker,由交换机根据routingkey来转发消息到指定的队列。 创建测试用例 交换机的名称 清理场景 删除这个交换机 删除队列 再删除sms的队列 交换机的类型变成topic routin 阅读全文
posted @ 2019-10-04 18:07 高山-景行 阅读(173) 评论(0) 推荐(0)
摘要: 先常见生产者 复制02的代码 先改一下交换机的名称 还需要制定routingKey。因为是两个消息 所以指定了两个routingKey 这里修改为当前指定的交换机名称 交换机和队列在绑定的时候指定我们新定义的routingKey 交换机在定义的时候,类型设置为Direct 发送消息要指定routin 阅读全文
posted @ 2019-10-04 11:38 高山-景行 阅读(163) 评论(0) 推荐(0)
摘要: 队列在绑定交换机的时候可以指定routingKey, 路由模式: 1、每个消费者监听自己的队列,并且设置routingkey。 2、生产者将消息发给交换机,由交换机根据routingkey来转发消息到指定的队列。 例如下面指定的routingKey是error 下面这个设置了多个routingKey 阅读全文
posted @ 2019-10-04 11:18 高山-景行 阅读(181) 评论(0) 推荐(0)
摘要: 消费者需要写两个消费者 定义邮件的类 复制以前的代码到邮件类里面进行修改 最上面 声明队列的名称和交换机的名称 监听修改为email 的队列的名称 手机短信接收端 复制一份email的接收端的代码 改名叫做sms 队列的名称改成短信的队列名称 启动程序测试 先启动生产者 生产者启动后就发送了5条消息 阅读全文
posted @ 2019-10-04 00:16 高山-景行 阅读(269) 评论(0) 推荐(0)
摘要: Publish/subscribe:发布订阅模式 发布订阅模式: 1、每个消费者监听自己的队列。 2、生产者将消息发给broker,由交换机将消息转发到绑定此交换机的每个队列,每个绑定交换机的队列都将接收 到消息 中间多了个交换机 一个消息生产者先发送给交换机,由交换机把消息发送给各个队列。每个队列 阅读全文
posted @ 2019-10-03 22:30 高山-景行 阅读(218) 评论(0) 推荐(0)
摘要: RabbitMQ有以下几种工作模式 : 1、Work queues 2、Publish/Subscribe 3、Routing 4、Topics 5、Header 6、RPC 1、Work queues work queues与入门程序相比,多了一个消费端,两个消费端共同消费同一个队列中的消息。 应 阅读全文
posted @ 2019-10-03 20:59 高山-景行 阅读(244) 评论(0) 推荐(0)
摘要: 我们在consumer这个功能下进行代码的编写 首先是新建这个层级的包 创建入门程序的消费者 消费者也需要和mq建立通道。建立连接创建通道 在顶部都声明这个队列 下面写核心代码监听队列。basicConsume方法这就是核心方法 Ctrl+T--选择最后一个PublisherCallbackChan 阅读全文
posted @ 2019-10-03 20:44 高山-景行 阅读(210) 评论(0) 推荐(0)
摘要: 1)java client 生产者和消费者都属于客户端,rabbitMQ的java客户端如下: 我们先用 rabbitMQ官方提供的java client测试,目的是对RabbitMQ的交互过程有个清晰的认识。 参考 :https://github.com/rabbitmq/rabbitmq-jav 阅读全文
posted @ 2019-09-27 16:03 高山-景行 阅读(231) 评论(0) 推荐(0)
摘要: RabbitMQ由Erlang语言开发,Erlang语言用于并发及分布式系统的开发,在电信领域应用广泛,OTP(Open Telecom Platform)作为Erlang语言的一部分,包含了很多基于Erlang开发的中间件及工具库,安装RabbitMQ需 要安装Erlang/OTP,并保持版本匹配 阅读全文
posted @ 2019-09-27 13:51 高山-景行 阅读(319) 评论(0) 推荐(0)
摘要: Producer生产者 Consumer:消费者 组成部分说明如下: Broker:消息队列服务进程,此进程包括两个部分:Exchange和Queue。 Exchange:消息队列交换机,按一定的规则将消息路由转发到某个队列,对消息进行过虑。 Queue:消息队列,存储消息的队列,消息到达队列并转发 阅读全文
posted @ 2019-09-27 13:40 高山-景行 阅读(227) 评论(0) 推荐(0)
摘要: 开发中消息队列通常有如下应用场景: 1、任务异步处理。 将不需要同步处理的并且耗时长的操作由消息队列通知消息接收方进行异步处理。提高了应用程序的响应时间。 2、应用程序解耦合 MQ相当于一个中介,生产方通过MQ与消费方交互,它将应用程序进行解耦合。 市场上还有哪些消息队列? ActiveMQ,Rab 阅读全文
posted @ 2019-09-27 13:36 高山-景行 阅读(235) 评论(0) 推荐(0)
摘要: 先静态化,并存储到gridFS 然后,发消息给MQ,MQ接收到消息通知给所有监听他的Cms Client。 Cms client从gridFS读取页面下载到自己的服务 业务流程如下:1、管理员进入管理界面点击“页面发布”,前端请求cms页面发布接口。2、cms页面发布接口执行页面静态化,并将静态化页 阅读全文
posted @ 2019-09-27 11:27 高山-景行 阅读(250) 评论(0) 推荐(0)
摘要: 通过nginx转发到预览的地址 重启nginx 添加页面预览按钮 调整下列表的列的宽度 阅读全文
posted @ 2019-09-27 11:16 高山-景行 阅读(161) 评论(0) 推荐(0)
摘要: 1、用户进入cms前端,点击“页面预览”在浏览器请求cms页面预览链接。 2、cms根据页面id查询DataUrl并远程请求DataUrl获取数据模型。 3、cms根据页面id查询页面模板内容 4、cms执行页面静态化。 5、cms将静态化内容响应给浏览器。 6、在浏览器展示页面内容,实现页面预览的 阅读全文
posted @ 2019-09-27 11:06 高山-景行 阅读(198) 评论(0) 推荐(0)
摘要: 测试service内些的静态化的方法 先新建一个测试类 模板的id 放到下拉的静态数据里面 这样这条数据 就是用用的轮播图005这个模板 把这条数据静态化 进入到断点里面。先获取数据模型 获取模板时 报错。 拿到模板文件的id 这里报错,从流里面拿数据 文件的字节数是2013 我们刚才在测试的时候, 阅读全文
posted @ 2019-09-27 10:34 高山-景行 阅读(282) 评论(0) 推荐(0)
摘要: 定义getModelByPageId 定义一个专门的代码,用来表示页面找不到 通过restTemplate方法获取dataUrl接口的数据 调用获取Map数据 获取页面模板 创建获取模板信息的方法:getTemplateByPageId 创建cmsTemplate的Dao 创建到接口:CmsTemp 阅读全文
posted @ 2019-09-26 23:21 高山-景行 阅读(361) 评论(0) 推荐(0)
摘要: 启动前端和后端。轮播图的数据url可以在这里修改。 找到列表页面的轮播图,然后点击编辑 随便更新一个地址测试 提交后数据再次编辑 发现url没有变化 在pageService里面update方法把更新的字段加上 //更新dataUrlone.setDataUrl(cmsPage.getDataUrl 阅读全文
posted @ 2019-09-26 23:01 高山-景行 阅读(253) 评论(0) 推荐(0)
摘要: 因为没有界面,所以手动的通过操作数据库的方式来存储 比如说要存一个轮播图的模板 把自增的_id去掉 先用测试程序把文件存储到gridFS得到一个gridId,然后拿着这个文件的id 这样就添加好了这一条记录。 这是我自己本机的添加的记录 修改模板,重新到如chunks 修改模板文件怎么去修改。先导出 阅读全文
posted @ 2019-09-26 22:53 高山-景行 阅读(275) 评论(0) 推荐(0)
摘要: 需要创建mongoDB的配置类1 配置类里面主要创建。GridFSBucket这个对象。这个对象的作用就是用来打开一个下载流 在cms的微服务下,在config下创建MongoConfig。这个时候就需要用到spring的注解。@Configuration。加上这个注解。这个类就相当于是一个Bean 阅读全文
posted @ 2019-09-26 22:34 高山-景行 阅读(456) 评论(0) 推荐(0)
摘要: 将模板信息保存在cms_template里面 存储在fs.chunks这个集合中。这个集合里面存的是分块文件。 fs.files存的是文件的基本信息 chunks存的是块信息 创建测试文件 在cms的微服务下创建测试类:GridFsTest 用gridFsTemplate的api实现存储 store 阅读全文
posted @ 2019-09-26 22:23 高山-景行 阅读(401) 评论(0) 推荐(0)
摘要: 这是轮播图的原始文件 运行门户需要把 nginx启动起来 单独运行轮播图。把里面的css的引用都加上网址的url 这就是单独访问到的轮播图的效果 轮播图模板的地址: 阶段5 3.微服务项目【学成在线】·\day04 页面静态化\代码\index_banner.ftltest-freemarker的服 阅读全文
posted @ 2019-09-26 17:55 高山-景行 阅读(420) 评论(0) 推荐(0)
摘要: 在视频教学的过程中,不会去做模板管理的模块 cms_template用来存储模板信息 cms_page 这一些课程页面用的是一个模板 模板的详情。templateFileId是模板的文件id 模板的文件单独存到一个分布式的文件系统就是gridFS 第一步做模板文件,第二部把模板入库。 阅读全文
posted @ 2019-09-26 17:40 高山-景行 阅读(196) 评论(0) 推荐(0)
上一页 1 ··· 28 29 30 31 32 33 34 35 36 ··· 93 下一页