当前位置:首页 » 编程语言 » rabbitmqjava

rabbitmqjava

发布时间: 2023-09-26 08:40:13

① activemq和rabbitmq谁更适合java学习

activemq更贴切java,想学习Java推荐选择【达内教育】,该机构拥有行业内完善的教研团队,强大的师资力量,确保学员利益,全方位保障学员学习。

学习JAVA需要注意的地方:
1、刚学习的时候要注意看相关的入门的书。对于这类书要自己研读,也可以把书当作一个类库来查阅。
2、在看书的同时也要多看看网上相关的视频。主要看一位老师的视频,跟着老师的思路和顺序走。
3、在学习的过程中建立一个目标,让自己能够始终坚持不放弃。
4、学习的过程中会遇到很多的困难,会产生很多疑惑。不要急躁,不要放弃,想尽一切办法去解决。
5、不能只看理论不去动手实践。很多想不通的问题可以通过动手实践去解决。感兴趣的话点击此处,免费学习一下

想了解更多有关Java培训的相关信息,推荐咨询【达内教育】。秉承“名师出高徒、高徒拿高薪”的教学理念,是达内公司确保教学质量的重要环节。作为美国上市职业教育公司,诚信经营,拒绝虚假宣传是该机构集团的经营理念。该机构在学员报名之前完全公开所有授课讲师的授课安排及背景资料,并与学员签订《指定授课讲师承诺书》,确保学员利益。达内IT培训机构,试听名额限时抢购。

② rabbitmq的特点

可靠性 ∶RabbitMQ使用一些机制来保证可靠性,如物拍持久化、传输确认及发布确认等。

灵活的路由 ∶在消息进入队列之前,通过交换器来路由消息。对于典型的路由功能,RabbitMQ已经提供了一些内置的交换器来实现。坦蚂键针对更复杂的路由功能,可以将多个交换器绑定在一起,也可以通过插件让巧机制来实现自己的交换器。

扩展性 ∶多个RabbitMQ节点可以组成一个集群,也可以根据实际业务情况动态地扩展集群中节点。

高可用性 ∶ 队列可以在集群中的机器上设置镜像,使得在部分节点出现问题的情况下队列仍然可用。

多种协议 ∶ RabbitMQ除了原生支持AMQP协议,还支持STOMP、MQTT等多种消息中间件协议

多语言客户端 ∶ RabbitMQ几乎支持所有常用语言,比如 Java、Python、Ruby、PHP、C#、JavaScript 等。

管理界面 ∶RabbitMQ 提供了一个易用的用户界面,使得用户可以监控和管理消息、集群中的节点等。

插件机制 ∶RabiMQ提供了许多插件,以实现从多方面进行扩展,当然也可以编写自己的插件。

③ RabbitMQ笔记十:MessageConverter详解

org.springframework.amqp.support.converter.MessageConverter

Message toMessage(Object object, MessageProperties messageProperties);
将java对象和属性对象转换成Message对象。

Object fromMessage(Message message) throws MessageConversionException;
将消息对象转换成java对象。

定义Config类

MessageListenerAdapter中定义的消息转换器,消费端接收的消息就从Message类型转换成了String类型

消费者处理消息的Handler

启动类

启动应用类,发送消息到 hao.miao.order 队列,控制台打印:

从控制台打印我们知道了在消费者处理消息之前会进行消息类型转换,调用 TestMessageConverter 的 fromMessage 方法,然后执行消息处理器的 onMessage 方法,方法参数就是 String 类型。

自定义一个MyBody类型,将消息从Message转换成MyBody类型

然后修改 TestMessageConverter 的 fromMessage 方法,返回了 MyBody 类型,那么消息处理器的消费方法也是MyBody参数的消费方法

此时的消息处理器,处理器中的方法的入参就是MyBody类型了,

此时控制台打印:

我们还测试如下如果不使用自定义的 Converter ,那么当消息的属性中含有属性content_type的值为text,那么默认的转换成的java类型就是String类型,如果不指定那么默认的转换类型就是byte[]

我们跟进去 MessageListenerAdapte r的 setMessageConverter 方法,

我们发现默认的 MessageConverter 是 SimpleMessageConverter ,我们进入 SimpleMessageConverter 类中看其默认的转换逻辑

源码分析总结:
1. MessageConverter 可以把 java 对象转换成 Message 对象,也可以把 Message 对象转换成 java 对象
2. MessageListenerAdapter 内部通过 MessageConverter 把 Message 转换成java对象,然后找到相应的处理方法,参数为转换成的java对象。
3. SimpleMessageConverter 处理逻辑:
如果 content_type 是以text开头,则把消息转换成 String 类型
如果 content_type的 值是 application/x-java-serialized-object 则把消息序列化为java对象,否则,把消息转换成字节数组。

热点内容
xp系统共享加密 发布:2025-02-01 18:00:34 浏览:682
预编译的作用是什么 发布:2025-02-01 17:44:52 浏览:738
苹果电脑打不开压缩文件 发布:2025-02-01 17:39:47 浏览:967
无人机存储柜子 发布:2025-02-01 17:39:45 浏览:199
shell脚本编写删除修改 发布:2025-02-01 17:38:05 浏览:119
wifi连接服务器678怎么回事 发布:2025-02-01 17:29:10 浏览:263
自动编译小说软件 发布:2025-02-01 17:23:19 浏览:186
鼠标侧键编程 发布:2025-02-01 17:14:51 浏览:68
bs源码 发布:2025-02-01 16:51:52 浏览:568
百度云zip怎么解压 发布:2025-02-01 16:31:59 浏览:567