package com.curiousby.util;
import java.io.UnsupportedEncodingException;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.amqp.core.Message;
import org.springframework.amqp.core.MessageProperties;
import org.springframework.amqp.support.converter.AbstractMessageConverter;
import org.springframework.amqp.support.converter.MessageConversionException;
import com.alibaba.fastjson.JSON;
//import fe.json.FastJson;
//com.curiousby.util.FastJsonMessageConverter
public class FastJsonMessageConverter extends AbstractMessageConverter {
private static Log log = LogFactory.getLog(FastJsonMessageConverter.class);
public static final String DEFAULT_CHARSET = "UTF-8";
private volatile String defaultCharset = DEFAULT_CHARSET;
public FastJsonMessageConverter() {
super();
}
public void setDefaultCharset(String defaultCharset) {
this.defaultCharset = (defaultCharset != null) ? defaultCharset
: DEFAULT_CHARSET;
}
public Object fromMessage(Message message)
throws MessageConversionException {
return null;
}
public <T> T fromMessage(Message message,T t) {
String json = "";
try {
json = new String(message.getBody(),defaultCharset);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return (T) JSON.parseObject(json, t.getClass());
//(T) FastJson.fromJson(json, t.getClass());
}
protected Message createMessage(Object objectToConvert,
MessageProperties messageProperties)
throws MessageConversionException {
byte[] bytes = null;
try {
String jsonString = JSON.toJSONString(objectToConvert);
//FastJson.toJson(objectToConvert);
bytes = jsonString.getBytes(this.defaultCharset);
} catch (UnsupportedEncodingException e) {
throw new MessageConversionException(
"Failed to convert Message content", e);
}
messageProperties.setContentType(MessageProperties.CONTENT_TYPE_JSON);
messageProperties.setContentEncoding(this.defaultCharset);
if (bytes != null) {
messageProperties.setContentLength(bytes.length);
}
return new Message(bytes, messageProperties);
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
rabbitmq spring rabbitmq spring rabbitmq spring rabbitmq spring http://knight-black-bob.iteye.com/blog/2304089
资源推荐
资源详情
资源评论















收起资源包目录
























































































共 46 条
- 1
资源评论

- 我是老才2017-02-06不错,好评,可以参考
- wky77162017-10-05不错,好评,可以参考
- 昨天与今天2019-01-12还可以吧,谢谢

curiousby
- 粉丝: 24
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- MongoDB数据库高性能、高可用架构设计.docx
- 嵌入式系统课程设计20135.doc
- 论述工程项目管理中施工现场管理及优化措施.docx
- 工程项目管理理论基础.ppt
- 探究小学信息技术Scracth编程的创新教学.docx
- 大数据-小卫星概述.docx
- 试析如何加强电力营销工程项目管理.docx
- 试论计算机教学中的网络教学模式.docx
- 从传统祭祀到网络祭祀世俗心理演变初探.docx
- PLC的自动售货机控制系统的设计.doc
- 建立网络会计服务中心的可行性的论文-会计电算会计论文.docx
- 微课在计算机基础教学中的应用.docx
- 第五代移动通信技术.doc
- 高清网络监控系统施工注意事项.doc
- 数据中心搬迁项目管理.docx
- 医疗系统中计算机的应用.docx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制
