源博客地址:http://blog.csdn.net/pipinet123 MQTT交流群:221405150 面向群体 想自己实现MQTT Broker的朋友 对现有开源的MQTT Broker或多或少有些不惬意的朋友 简介 HiveMQ是企业级MQTT Broker,提供高性能.高可用.高扩展.高安全性的企业级服务. 它是纯Java实现的. 官网地址:http://www.hivemq.com 基于它如上的描写叙述.所以兴许我们就是基于它的高性能.高可用.高扩展.高安全性这几个特点来分析它的…
Spring IOC源代码具体解释之容器初始化 上篇介绍了Spring IOC的大致体系类图,先来看一段简短的代码,使用IOC比較典型的代码 ClassPathResource res = new ClassPathResource("beans.xml"); DefaultListableBeanFactory factory = new DefaultListableBeanFactory(); XmlBeanDefinitionReader reader = new XmlBea…
Spring IOC源代码具体解释之容器依赖注入 上一篇博客中介绍了IOC容器的初始化.通过源代码分析大致了解了IOC容器初始化的一些知识.先简单回想下上篇的内容 加载bean定义文件的过程.这个过程是通过BeanDefinitionReader来完毕的.当中通过 loadBeanDefinition()来对定义文件进行解析和依据Spring定义的bean规则进行处理 - 其实和Spring定义的bean规则相关的处理是在BeanDefinitionParserDelegate中完毕的,完毕这个…
源博客地址:http://blog.csdn.net/pipinet123 MQTT交流群:221405150 实现功能 将全部放在plugins文件夹下的全部符合plugin编写规范的plugin jar包载入到整个guice context中 实现步骤 1.找到全部plugin文件夹下的全部jar包 2.分别找到jar包中META-INF/services/com.hivemq.spi.HiveMQPluginModule文件读取第三方plugin配置的HiveMQPluginModule子…
源博客地址:http://blog.csdn.net/pipinet123 MQTT交流群:221405150 既然是Cluster,node之间肯定是须要交互的,那么肯定是须要序列化和反序列化.HiveMQ是採用kryo来进行序列化的,详细为什么採用kryo兴许我们能够专门写一篇博客来进行详细分析.这里就不做过多的说明了,整体来说有框架处理.那么代码相对来说就会比較简单,假设单就使用来说,用起来就会相当简单. 类图 如上类相对来说比較多,但大家能够通过类名来归类整理.就会发现事实上相当简单.比…
源博客地址:http://blog.csdn.net/pipinet123 MQTT交流群:221405150 实现功能 依据用户配置的不同的Listener(TcpListener.TlsTcpListener.WebsocketListener.TlsWebsocketListener),为pipeline中加入不同的Handler 实现步骤 1.依据Listener不同,生成不同的Handler 2.加入到pipeline中.让其为每个client服务 类图 由上图能够看出针对不同的Lis…
Spring ICO具体解释之整体结构 IOC介绍 IOC, spring的核心.贯穿Spring始终.直观的来说.就是由spring来负责控制对象的生命周期和对象间的关系,将对象之间的关系抽象出来.通过spring容器控制对象生成时机,降低对象之间的耦合度. 开启Spring IOC源代码学习 SpringIOC 的主要依赖源代码是 spring-beans 和 spring-context两个包.前面文章中曾今讲到了怎样编译spring源代码,接下来将maven后的project导入ecli…
源博客地址:http://blog.csdn.net/pipinet123 MQTT交流群:221405150 简单介绍 HiveMQ的Persistence提供配置包含File和Memory,以解决不同场景的不同需求,使用者能够自行配置六种信息的PersistenceMode 就代码来讲.又分为LocalPersistence和Cluster/SinglePersistence.LocalPersistence主要是作本地的Persistence:Cluster/SinglePersisten…
源博客地址:http://blog.csdn.net/pipinet123 MQTT交流群:221405150 基于netty实现Webscoket相对来说就是相当简单,所以本讲中就不搞太复杂的了,给大家看一个类图,和一段给pipeline加入handler,就能够全然了解hivemq怎样处理的了,事实上跟差点儿全部须要使用netty去支持websocket的处理一致. watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcGlwaW5ldDEyMw==/f…
本文章由vector03原创, 转载请注明出处. 邮箱地址: mmzsmm@163.com, 欢迎来信讨论.     3. 分配及实现 本章节介绍dlmalloc的分配算法和实现.由于存在多mspace的情况, dlmalloc使用了两套API.一套相应默认的mspace,以dl前缀开头,如dlmalloc, dlrealloc等.假设创建了自己定义的mspace,则使用mspace开头的API,如mspace_malloc, mspace_realloc等.但两套API在基础算法上是一致的.我…