62,621
社区成员
发帖
与我相关
我的任务
分享
public class Xml2ObjFilter extends IoFilterAdapter{
private static Logger logger = Logger.getLogger(LockManager.class);
private FunctionMapping functionMapping;
public FunctionMapping getFunctionMapping() {
return functionMapping;
}
public void setFunctionMapping(FunctionMapping functionMapping) {
this.functionMapping = functionMapping;
}
public void messageReceived(NextFilter nextFilter, IoSession session,
Object message) throws Exception {
String xml = (String)message;
//读出读信息
LoadHead head = (LoadHead)Xml2Obj.fromXML(xml, LoadHead.class);
//取出功能号
String funNum = head.getHead().getFunNum();
//从映射关系中找出所对应的对象
String beanName = functionMapping.getBeanMapping().get(funNum);
//反射出class
Class clazz = null;
Object obj = null;
try{
clazz = Class.forName(beanName);
//将xml转成对象
obj = Xml2Obj.fromXML(xml,clazz);
}
catch(Exception e){
logger.error(e);
}
nextFilter.messageReceived(session, obj);
}
}