spring结合rabbitmq---简单的demo

在做搜索服务时,当业务方数据源改变时,需要改变搜索引擎中索引的数据。可以定时拉取也可以实时推送。为了实现同步更新,选择了实时推送。实时推送也有两种方式,一种是提供索引更新接口供业务方调用,在接口中将变化的数据更新到搜索引擎中;另一种是使用消息队列,业务方在数据改变时,将改变的数据插入队列,服务端的消费者实时监听队列,并进行索引更新。考虑到使用消息队列有三点好处,选择了第二种方式。使用消息队列的好处: 一,使用消息队列可以异步处理更新操作降低接口响应时间;二,对于消费端由于不可预测原因导致消息无法处理时,数据可以暂存在队列中,等消费者服务恢复后可以继续处理历史数据,提高可用性;三,将业务方的服务和索引更新服务解耦。下面简单记录一下一个简单的spring+rabbitmq的demo实现,只实现了简单的消息生产和消费。

参考了下面几篇博客:
http://syntx.io/getting-started-with-rabbitmq-using-the-spring-framework/
https://blog.codecentric.de/en/2011/04/amqp-messaging-with-rabbitmq/
http://wb284551926.iteye.com/blog/2212869

查看更多

分享到 评论

spring事务管理总结

以前写在segmentFault上的一篇文章 搬移到这里。

在项目开发过程中经常会使用事务来确保数据的一致性。根据网上的资料整理一下在spring中配置事务的几种方式。
无论是哪种方式都需要在配置文件中配置连接池和事务管理器,代码如下。

查看更多

分享到 评论

使代码更简洁(二)---集合转换相关

以前在segmentFault上的一篇文章 搬移到这里。

记录一下在工作开发中封装的一些工具类,使代码看起来更加的简洁。这篇就记录下和集合转换相关的吧。。。。。会持续记录。。。。

查看更多

分享到 评论

使代码更简洁(一)---List相关

以前写在segmentFault上的一篇文章 搬移到这里。

记录一下在工作开发中封装的一些工具类,使代码看起来更加的简洁。这篇就记录下和list相关的吧。。。。。会持续记录。。。。

查看更多

分享到 评论

angularjs+bootstrap+ngDialog实现模式对话框

在完成一个后台管理系统时,需要用表格显示注册用户的信息。但是用户地址太长了,不好显示。所以想做一个模式对话框,点击详细地址按钮时,弹出对话框,显示地址。

查看更多

分享到 评论