作者:coderstory

coderstory

基于Spring深入源码学习RabbitMQ

这篇文章将继续学习RabbitMq的一些东西,为了更好的学习,阅读和理解相关源码是非常有必要的。本篇文章将简单讲解下与RabbitMQ交互所使用的几个类和方法。 基本注解 @RabbitListener(queues = queueName) public @interface RabbitListener { // 本监听器的唯一id String id() default “”; // 指定容器工厂 默认的是SimpleRabbitListenerContainerFactory String containerFactory() default “”; // 绑定的队列对象 通过名字绑定…

阅读全文 »

Spring Cloud整合RabbitMQ

0x1.导入maven依赖 现在你需要导入一个starter包就好了,不用理会什么版本。 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-boot-starter-amqp</artifactId> </dependency> 0x2.添加RabbitMQ配置 这里只需要配置下RabbitMQ服务端的连接参数就好了,其他的直接用默认配置。 spring: rabbitmq: host: localhost port: …

阅读全文 »

消息队列 MQ 总结(入门)

序言 在实际开发环境中,你可能会遇到如下场景: 1.系统运行中会在特定时间产生了大量日志,日志服务的磁盘的IO 性能跟不上,导致某些服务运行缓慢。 2.某服务A的功能可能会调用服务B,但服务B的处理逻辑又与A无关(仅仅需要通知B处理下一些东西) 3.服务又注册用户机制,需要验证邮箱,但是处理和发送邮件占用了整个接口时间的2/3,但验证邮件并不是注册阶段验证的。 这些例子中,都存在AB两个独立服务,A是消息的发布者,B是消息的订阅者。实际环境中可能是一对多的关系(A对应多个B 或者A对应BCD多个不同的服务) 通过例子我们不难看出某些情况下,服务之间的调用存在一定的耦合性,但这种耦合性又是非必要…

阅读全文 »

Windows下的RabbitMQ安装与开启Web管理界面

因为项目开发需要用到MQ,所以花点时间时间学习了一下,简单写点文章吧。毕竟好久没写博客了。 目前主流的MQ比如RabbitMQ,RocketMQ,Kafka之类的很多。我选择RabbitMQ是因为项目本身是类OA的,不会有太大的并发和性能需求,RabbitMQ的API完善,可以和spring 无缝整合,入门简单部署也简单。 所以选型方面就敲定了RabbitMQ。 0x0 ERLang 在安装RocketMQ之前我们需要安装下erlang语言环境。因为RocketMQ是基于erlang开发的,运行RocketMQ的时候需要erlang运行时环境。就有好比运行.net程序要安装net frmewo…

阅读全文 »

2018-12-11 Flyme7助手 主题河蟹 5×5桌面 ROOT隐藏

  重新开坑,flyme6老版本的系统 请使用老版本插件,或者手动安装最新版本的主题美化 flyme7助手是针对flyme7系统的xposed插件,需要你事先安装xposed和获取root,不要再问没有xp或者root能不能用了。 因为代码混淆的缘故,插件功能仅在指定版本的app上生效。 这本是自用的软件,你可以使用,也不需要付费。但不提供任何技术支持,也不接受任何需求。 以及,使用本插件,后果自负。 兼容的系统App版本 flyme桌面 7.2.10 主题美化 7.5.1 魅族pay 4.1.8 对应apk下载 提取码:mtf0 应用说明 助手目前自带如下功能: 冻结应用 备份还原…

阅读全文 »

Sping boot Oauth2.0 添加记住我功能

现在各种系统的登入页面一般都会有记住密码,记住我的功能。在使用oauth的时候,framework本身就提供了相关功能。我们只需要简单的配置一下就可以使用了。 1.首先登入页面添加一个checkbox <input type=”checkbox” value=”true” name=”remember-me”>记住我 checkbox的name定义在 org.springframework.security.config.annotation.web.configurers.RememberMeConfigurer 类定义的代码片段: public final class Remembe…

阅读全文 »

关于插件更新后XX功能失效的问题

首先,在没更新系统情况下,更新插件导致插件功能失效的,基本是你自己操作的问题。 失效原理 1.xposed installer内部维护了一个xposed插件列表,包含了插件apk的安装路径。 2.更新插件或者重新安装插件导致apk安装路径发生变化,导致插件不会被加载。 3.安装和更新app时,xposed 会监听这个事件,实时维护这个列表 目前,这个第三步无法在flyme系统上可能无法完成。 原因有2,1是xposed没有后台运行,导致无法监听到插件的更改,要知道现在的国产系统默认都是禁止后台的。 2是flyme似乎没有卸载app的广播,我就算打开的xposed然后卸载插件,xposed插件列…

阅读全文 »

小米净化 2.1.4 正式版 去除MIUI广告,隐藏桌面图标

小米净化是一款基于Xposed框架开发的MIUI定制插件。拥有净化广告、冻结软件、应用清理、隐藏应用桌面图标等功能的软件 本插件的正常运行需要Xposed和Root的支持。插件基于Android 7.1.1 版本的MIUI9系统开发,其他版本的系统在使用上可能会遇到点问题。 普通版适用大部分机型,定制版适用那些必须禁用钩子的机型,部分功能缺失。 注意事项 因为小米6及之后的机型都不能直接支持Xposed,所以我已经没有开发和测试环境,而且本身意义也不大,故不再更新。   1.软件功能需要xposed支持和root支持。二者缺一不可。 2.个性主题中的广告是hosts去广告屏蔽的 基于…

阅读全文 »

MySQL 整表加密解决方案 keyring_file

说明 MySql社区版从5.7.11开始支持基于表的数据加密方案,模块名为keyring_file,支持加密整张表。这种是加密方式其实是基于文件加密的,一旦mysqld读取key启动后,将会解密整张表的数据,在mysql服务内,读取的数据都是解密后的,也就是说对客户端而言是无感知的。而这个key是本地存放的,mysql服务拥有读写这个key的权限。 总体看这种方案不太安全,原因是数据库文件是加密的,但只要能有mysql服务的账户,那么访问数据都是解密后的,加密不攻自破。而且解密key也是本地存放的,入侵者完全可以一并带走。这种方案只能保证入侵者只拖走了数据库文件后无法读取内容。 企业版MySQ…

阅读全文 »

常用hibernate注解:表关联,字段属性注解

现在主流的的ORM就属hibernate和mybatis了。两者相比之下,hibernate更加灵活,部分SQL功能可以使用丰富的注解实现,而mybatis一般都是构建原生的SQL实现的。 1.基本注解 实现hibernate的核心应该就属Entity。一个简单的JOPO,我们添加@Entity标注这是一个实体类,默认使用类名作为表名,使用字段名作为列明,一个完整的Entity类的结构就对应一张数据库中的表。 我们使用@Table(name=”newTableName”) 注解自定义表名 使用@Column(name=”newColumnName&#8221…

阅读全文 »