![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
中间件
文章平均质量分 87
rabbitmq,elastic search,solr等中间件
asa-x
面对问题,重要的不是完美解决,而是解决,不完美也是可以接受的
展开
-
Mybatis引用静态常量或者枚举类型
Mybatis通过GNDL语法引用静态常量或者枚举类型 代码如下: Mybatis xml mapper语句 <select id="listModelsToProTps" resultType="com.voyageone.ecerp.model.wms.WmsBtShipmentModel"> SELECT * from wms_bt_shipment${p...原创 2018-03-13 16:09:24 · 7639 阅读 · 2 评论 -
Mybatis高级结果映射
ReferencesAdvanced Result MapsUse mybatis to map one to many(1->n) model, data mode is like the following tracking packages address itemstracking(1)->packages(n) | address, packages(1)-&g原创 2020-08-31 20:12:53 · 232 阅读 · 0 评论 -
spring-boot rabbitmq整合
默认的消费策略是轮询策略,这个方法待优化,很明显在现实开发过程中是不可能这么写的。生产者将信道设置成confirm模式,一旦信道进入confirm模式,所有在该信道上面发布的消息都会被指派一个唯一的ID(从1开始,单调递增),一旦消息被投递到所有匹配的队列之后,broker就会发送一个ACK给生产者(包含消息的唯一ID)消费者收到消息后,手动调用basic.ack/basic.nack/basic.reject后,RabbitMQ收到这些消息后,才认为本次投递成功,换句话说,这也是和业务做耦合的。原创 2023-03-03 20:14:43 · 649 阅读 · 0 评论 -
rabbitmq集群-普通模式
普通集群模式,就是将 RabbitMQ 部署到多台服务器上,每个服务器启动一个 RabbitMQ 实例,多个实例之间进行消息通信。此时我们创建的队列 Queue,它的元数据(主要就是 Queue 的一些配置信息)会在所有的 RabbitMQ 实例中进行同步,但是队列中的消息只会存在于一个 RabbitMQ 实例上,而不会同步到其他队列。当我们消费消息的时候,如果连接到了另外一个实例,那么那个实例会通过元数据定位到 Queue 所在的位置,然后访问 Queue 所在的实例,拉取数据过来发送给消费者。原创 2023-03-08 14:30:50 · 2098 阅读 · 0 评论 -
spring boot + rabbitMq整合之死信队列(DL)
DXL-Dead Letter 死信队列死信,在官网中对应的单词为“Dead Letter”,可以看出翻译确实非常的简单粗暴。那么死信是个什么东西呢?消息被否定确认,使用 channel.basicNack 或 channel.basicReject ,并且此时requeue 属性被设置为false。通常来说,如果consumer如果消费出现异常,并且没有ack的话,也属于这种情况消息在队列的存活时间超过设置的生存时间(TTL)时间。消息队列的消息数量已经超过最大队列长度。原创 2023-03-03 01:02:07 · 850 阅读 · 0 评论 -
spring boot + rabbitMq整合之持久化
另外,做个autoDelete和durable的补充,autoDelete的意思是指在某个时间段exchange或者queue被使用,比如没绑定exchange,queue或者consumer,那么是否被删除,逻辑上说不可以的,因为某个时间后如果还需要使用呢?删除的风险是非常大的。我们重启服务器,看到TestNotDurableDirectQueue 已经被删除了,那么表示队列未被持久化。durable是默认为true的,那么表示在服务器重启的时候,服务器会持久化保留该消息。原创 2023-02-20 16:14:30 · 351 阅读 · 0 评论 -
rabbitmq集群-镜像模式
它和普通集群最大的区别在于 Queue 数据和原数据不再是单独存储在一台机器上,而是同时存储在多台机器上。也就是说每个 RabbitMQ 实例都有一份镜像数据(副本数据)。每次写入消息的时候都会自动把数据同步到多台实例上去,这样一旦其中一台机器发生故障,其他机器还有一份副本数据可以继续提供服务,也就实现了高可用。原创 2023-03-08 18:51:40 · 1523 阅读 · 0 评论