- 博客(18)
- 资源 (1)
- 论坛 (2)
- 收藏
- 关注
原创 rabbitmq 事务消息
文章目录AMQP 事务消息confirm 事务消息生产者纯异步操作rabbitmq支持两种模式的事务消息:AMQPconfirmAMQP 事务消息代码比较简单,开启事务txSelect,提交txCommit,回滚txRollback。实例:生产者public class Send { private final static String QUEUE_NAME = ...
2020-02-21 16:08:59
761
原创 rabbitmq消息可靠性之消息应答与持久化
文章目录消息应答ack持久化消息应答ack前面介绍了rabbitmq有两种ack模式自动ack:消息从rabbitmq队列中发送给消费者则从队列内存中删除该消息。此时如果消费者宕机等原因未来得及消费完消息,则该消息丢失。手动ack:消费者在去确定消费完消息以后再ack,rabbitmq服务器收到ack后才会从内存队列中删除消息,如此一来,可以保证消息在消费者和队列这个环节不丢失。注意一点...
2020-02-19 22:06:43
305
原创 rabbitmq 7种队列实现java版
文章目录搭建maven项目引入依赖创建连接简单队列消息生产者消息消费者搭建maven项目引入依赖<dependency> <groupId>com.rabbitmq</groupId> <artifactId>amqp-client</artifactId> <version>5.8.0</...
2020-02-19 21:02:59
396
原创 rabbitmq用户及vhost配置
文章目录用户添加用户配置virtual hosts授权用户访问vhost用户上一节我们是通过guest用户登录的,但是实际工作中肯定不能以该账户使用,通常是会设置多个账户供不同的业务方使用。下图中可以看到guest是administrator权限。添加用户我这里作为演示,添加一个admin用户,tags选的是admin(直接点击下面的几个选项即可)。添加完成后:可以看到virt...
2020-02-19 20:12:20
771
原创 windows10安装rabbitmq
文章目录安装Erlang安装rabbitmq安装Erlang由于rabbitMQ是Erlang语言编写的,所以要先安装Erlang语言环境,与安装java类似。rabbitmq官网安装教程:https://www.rabbitmq.com/install-windows.html。官网已经告诉我们如何安装了。进入erlang下载页面:https://www.erlang.org/down...
2020-02-19 19:32:28
483
原创 java11:NoClassDefFoundError: javax/activation/MimetypesFileTypeMap
文章目录错误描述解决办法错误描述在 netty4.1实现http文件服务器 一文中我们有使用到javax.activation.MimetypesFileTypeMap。但是java9+对Java实行了模块化处理,有一些模块没有默认加载,所以在使用这些模块时,需要我们主动的引入。错误信息:NoClassDefFoundError: javax/activation/MimetypesFile...
2020-02-16 18:51:44
941
原创 Netty实现聊天室
文章目录本文内容基于上一篇博客 netty实现WebSocket协议,一些基本使用请参考该博客。本例实现的功能:有新成员加入时,群广播消息,欢迎加入有成员退出时,群广播消息,退出每个成员都可以发送消息,消息广播给群内的每个人完整的服务器代码如下:package com.example;import com.alibaba.fastjson.JSONObject;import...
2020-02-13 16:09:19
934
原创 netty实现WebSocket协议
文章目录WebSocket协议服务端开发客户端运行测试全双工WebSocket协议一般web应用都是使用的HTTP协议。HTTP协议有以下特点:支持客户端-服务端模式使用简单:只需要知道服务端URL,携带参数发送请求即可支持多种传输数据类型,由消息头中content-type标识无状态,使得HTTP服务轻量级HTTP协议也存在一些缺点:半双工通信:同一时刻,数据只能往同一方向...
2020-02-11 11:48:49
1013
转载 网关基于Netty 在Http 协议的实践
文章目录网关基于Netty 在Http 协议的实践http编解码Head 请求ByteBuf 释放,防止内存泄漏引用计数PoolThreadCache连接池连接复用接入端用Netty完全异步Tomcat 做容器Netty 实现网关基于Netty 在Http 协议的实践我们网关现在完全基于netty 实现http 协议,包含客户端和服务端,http 客户端有很多选择,比如 HttpClient ...
2020-02-10 20:54:23
562
原创 netty4.1实现http文件服务器
概述netty版本:4.1.45使用netty搭建一个简单的文件服务器,使用HTTP协议对外提供服务。如果文件不存在,返回403响应码。如果是文件夹,以超链接展示,如果是文件,支持下载。服务器编码/** * netty http 文件下载 服务器 */public class MyHttpFileBrowserServer { int port; publi...
2020-02-10 20:30:49
488
1
原创 netty实现HTTP服务器
文章目录概述HTTP服务器代码实现验证概述目前主流的Java web服务器还是采用springboot+Tomcat来实现的,底层还是基于servlet开发的。servlet不是异步的,所以性能并不是很理性,无法满足当下的快速服务器的要求。目前spring5已经实现了基于reactor的webflux异步编程(响应式编程),springboot2.X也已经支持webflux,性能会提升很多。...
2020-02-10 15:07:07
373
原创 Mac升级系统后,idea中Git无法使用:xcrun: error: invalid active developer path
Mac升级了最新的系统,idea右下角提示Git无法使用的错误。完整错误信息:xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun解决办法:首...
2020-02-10 10:34:47
350
原创 Mac安装protobuf
Mac上安装软件通常使用brew来安装,类似于Linux平台上的yum.本文使用brew安装protobuf两条命令:brew install protobufprotoc --version
2020-02-09 11:53:17
366
原创 mac 安装 brew(homebrew)
brew是MacOS上的包管理工具。类似RHEL/CentOS上的yum或者Ubuntu上的apt-get一样。确认你的Mac电脑安装了ruby:ruby -vruby 2.6.3p62 (2019-04-16 revision 67580) [universal.x86_64-darwin19]访问 https://brew.sh/复制网页上的安装命令:等待安装完成,然...
2020-02-09 11:47:35
1417
原创 netty 4.1.45 protobuf 编解码实现
文章目录PB协议简单使用netty使用PB协议进行编解码PB协议简单使用关于PB协议的使用介绍请移步至: protocol buffer 3 (Protobuf3) ( java 版本 ) 使用入门。netty使用PB协议进行编解码...
2020-02-09 10:30:13
214
原创 netty 4.1.45自定义编解码器
概述前面介绍了使用netty本身提供的LineBasedFrameDecoder、DelimiterBasedFrameDecoder、FixedLengthFrameDecoder三种编解码方案。不过实际工作中直接使用这几种编解码的还是比较少的。比如处于安全、性能、私有网络等。这里介绍简单的自定义编解码器的实现,后续再介绍如何与json,PB协议等进行集成实现复杂的netty协议。自定义编...
2020-02-08 21:41:42
394
原创 netty 4.1.45 TCP拆包粘包原因及解决办法
文章目录异常情况模拟服务器改造客户端改造运行结果拆包粘包原因分析拆包粘包解决办法LineBasedFrameDecoder 换行符分隔消息服务端修改客户端修改运行结果原理分析DelimiterBasedFrameDecoder 固定分隔符解码器服务端修改客户端修改FixedLengthFrameDecoder 固定长度的分隔符自定义解码器在netty 4.1.45 第一个netty程序中,编写了...
2020-02-08 17:31:33
467
原创 netty 4.1.45 第一个netty程序
概述本系列文章介绍netty的学习。使用的版本是4.1.45jdk采用Java11本系列文章由浅入深,先学习使用,再研究其实现原理。本节编写一个最简单的netty服务器。maven依赖<dependency> <groupId>io.netty</groupId> <artifactId>netty-all</art...
2020-02-08 15:54:51
1125
快乐崇拜234的留言板
发表于 2020-01-02 最后回复 2020-01-02
当梦想和身体健康发生冲突,你会如何选择
发表于 2014-10-29 最后回复 2014-11-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人 TA的粉丝