您的位置:首页 > 其它

activeMQ 传递数据,只能用基本类型,只有几种,其他的要序列化

2017-09-05 15:00 393 查看
我的做法,如果是用数组,集合,对象的话就做出json传递,传过去,如果是数组,集合就使用jsonutil工具,变成list,对象的话就转回对象;

数据简单,我就直接 用textMessage 传

如果数据复杂

就用session.createMapMessage();

生产
@Override
public JKResult delContractById(final String id) {
contractProductService.deleteProductByContractId(id);
contractDao.delContractById(id);
jmsTemplate.send(deleDestination, new MessageCreator() {

@Override
public Message createMessage(Session session) throws JMSException {
MapMessage map = session.createMapMessage();
String json = JsonUtils.objectToJson(id);
map.setString("id", json);
return map;
}
});
return JKResult.ok();
}消费
try {
if(mapMessage.getString("ids") !=null||!"".equals(mapMessage.getString("ids"))){
String ids =  (String) mapMessage.getObject("ids");
List<String> list = JsonUtils.jsonToList(ids, String.class);
    for (String id : list) {
Thread.sleep(1000);
solrServer.deleteById(id);
solrServer.commit();
}

                   

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐