一种高性能的HTTP接口服务设计与实现

来源 :中国信息化·学术版 | 被引量 : 0次 | 上传用户:march2th
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  2 系统实现
  2.1 接口动态加载
  为方便动态加载接口逻辑,每个接口都使用独立类实现,通过Java注解和反射机制实现动态加载。注解定义如下,用于描述接口信息:
  @Retention(RetentionPolicy.RUNTIME)
  public @interface InterfaceConfig{
  public String name(); // 接口名称
  public int size() default 0; // 接口最大并发数
  public long timeOut() default 30*1000;} // 接口执行超时时间
  这里通过注解描述了接口名称、最大并发数、超时时间等,然后通过Java的反射机制动态加载接口信息。代码片断如下:
  ConcurrentHashMap> configMap=newConcurrentHashMap>();
  Set> classes = PackageUtilAdv.getClasses(CLASS_PATH);// 获取CLASS_PATH下所有类文件
  for(Class clazz : classes) {
  if(clazz.isAnnotationPresent(InterfaceConfig.class)) {// 获取接口类对应的注解信息
  Annotation annotation = clazz.getAnnotation(InterfaceConfig. class);
  InterfaceConfig descr = (InterfaceConfig)annotation;
  Mapprop=new HashMap();
  int concurrentSize = descr.size();
  prop.put("InterfaceConfig", descr);
  prop.put("interfaceClass", clazz);
  configMap.put(descr.name(), prop);}}
  2.2 接口调用过程
  当用户端请求到达接口代理时,由代理类调用实际的接口逻辑并返回结果,代码如下:
  private JSONObject invokeProcess(Map map, String interfaceName, HttpServletRequest request, HttpServletResponse response) throws Exception {// 接口对应实际的Class
  Class clazz = (Class) map.get("interfaceClass");
  Object obj = objectMap.get(interfaceName);
  if (obj == null) {
  obj = clazz.newInstance();
  objectMap.put(interfaceName, obj);}
  // 调用接口实现的doProcess方法执行接口逻辑
  Method m=clazz.getMethod("doProcess",newClass[]{HttpServletRequest.class, HttpServletResponse.class});
  JSONObject data = (JSONObject) m.invoke(obj, new Object[]{request, response});
  return data;}
  3 性能测试
  在Linux下部署并测试程序,监听8090端口,如图3.1所示。
其他文献
0 引言  用PID控制方法可以消除系统的时间迟延。有人证明在一定的条件下,PID控制器可以和Smith预估器等价,而且PID控制的一些优点还吸引着许多研究者,探讨将它与其它方法相结合来改善时滞过程的控制效果。此外,合理地调整PID参数也可以达到滞后补偿等作用。对二阶惯性加时滞的系统,有人提出了利用开关阶跃响应法来辨识被控过程的特征参数,再通过整定公式来得到PID参数,经过仿真实验,证明了这种PI
随着新一轮课程改革的不断推进,课堂教学改革正持续、健康地向纵深发展,在许多方面获得突破性进展,取得了一定的成果。但是,我们也应该清醒地看到,在课堂教学改革中还存在一
档案编研是立足于馆藏,服务于社会的重要工作,是积累和传播档案信息的有效措施,是高效、优质地满足社会对档案信息需求的有效方式。目前,档案编研在做好编史修志等工作的同时
服务是档案工作的生命线,也是档案事业发展的原动力。为中国特色社会主义事业服务,是党和国家对档案工作的根本要求,是人民群众对档案工作的迫切需要,也是档案工作的首要任务
【摘 要】电子信息工程一直以来都备受人们的关注,这不仅由于其在生活中的应用相当广泛,更是由于其技术更新以及现代化发展速度相当快,因此,有必要就电子信息工程中的现代化技术及其未来发展前景进行探讨。鉴于此,本文从电子信息工程的相关内容入手,就其概念及主要内容进行了探讨,并重点就电子信息工程中现代化技术的发展措施等内容进行了分析。  【关键词】电子信息工程 现代化技术 发展 措施  【中图分类号】G64
新时期知识经济的发展对档案馆的发展建设提出更高的要求,因此,只有不断加强档案馆各方面的建设,探索适合档案馆发展的道路,才能适应新形势的需要,更好地为人们的信息需求服
档案信息的开发利用是社会发展的必然需求。随着社会的发展变化,尤其是社会公众信息意识的觉醒,使档案信息的开发利用与需求之间呈现出新的特点,档案信息利用群体的扩展即是
是我国档案事业管理的基本法律.自1987年颁布以来,对我国档案事业的持续、健康、稳定发展起到了保驾护航的作用.颁布至今已有20多年了,1996年7月5日全国人大常委会曾对该法进
BACtalk系统采用BACnet标准协议是一个开放式的系统,并能与符合BACnet标准的其它厂商的产品互相替代。BACtalk系统通讯协议采用TCP/工P,网络结构采用以太网,简便易行。BACtalk系统中使用Internet技术,能够实现网络互相连通。  核心设备为webtalk Iport服务器。用户可以查看、确认或取消报警等功能。还可以下载数据。  (1)管理层  管理层主要功能是对系统进
【摘 要】ERP系统在企业的应用,实现了信息的“一次采集,高度共享,多层应用”,大大提高了数据采集速度,为经营决策赢得了时间。但随着系统长期运行, ERP系统性能及系统数据质量往往会呈下降态势,其原因主要为两个:其一是系统原因,其二是人为操作不规范、没有形成一个良好的使用习惯。所以就该问题产生原因,可从以下方面着手解决:1. 消除硬件瓶颈,优化系统参数配置,提高系统性能;2.完善制度,加强培训、采