WebService服务中,将写原始报文日志的功能由单独线程处理

原创 2016年05月30日 21:08:17

在WebService项目中,Web容器对每个请求,创建一个独立的线程进行处理和响应。但是最近发现业务响应速度变慢,主要怀疑对象是I/O和网络socket操作占用时间长,I/O这一块儿主要是发送/接收报文时需要存储原始报文,便于查错和日后比对数据,比较明显跟主业务处理无关,于是首当其冲将其剥离除去。数据库操作是通过平台的xmlrpc请求完成的,优化复杂些,放到后面跟进。


这个问题可以归结为producer-consumer问题,业务线程是producer,不断产生需要写日志的原始报文信息,而写日志线程是consumer,有内容达到就取出进行写文件操作。

于是创建了一个实体,用于描述原始报文日志信息,选择了线程安全队列中的LinkedBlockingQueue用于线程之间消息传递。同时通过实现Runnable接口,在实现类的run() 方法中实现了业务处理逻辑,在线程池中中启动线程任务即可。


版权声明:本文为博主原创文章,未经博主允许不得转载。

webservice中使用log4j记录日志

这次项目只做了webservice,然后使用log4j记录日志,按照原来的方式放好了记录日志的类,放好了log4j.properties配置文件,启动项目,测试webservice,竟然没有正常记录日...
  • llwan
  • llwan
  • 2017年08月17日 09:57
  • 695

CXF记录WebService的soap日志

cxf本身就支持日志功能,能打印传入传出的soap报文,但是需要配置一下。  配置步骤如下:  我这里配置的是cxf结合spring做的WebService,参考http://ajita.it...
  • wjs3238090
  • wjs3238090
  • 2015年01月20日 10:37
  • 2681

WebService soap报文请求与响应报文解析

需求         今日公司要做一个协同办公系统(OA),PC端已经完成。现在要做一个手机端网页端的。从登陆入手,需要向 服务端发送一段请求报文获取响应报文,对响应报文进行解析判断是否登录成功。 ...
  • qq_24505127
  • qq_24505127
  • 2016年11月06日 23:07
  • 21662

WebService 写对外接口

如果涉及到要提供多个 webservice 接口给外面的人调用,则可以使用提供一个接口出去,然后参数里面以XML的形式构造出来,报文里面写明是该调用哪个方法,这样的话,对于接口调用方就不用记那么多借口...
  • taking_wang
  • taking_wang
  • 2016年01月25日 11:52
  • 2194

webservice利用cxf框架编写日志拦截器和自定义拦截器

1、服务器端的关键代码: //发布webService public class ServerTest { public static void main(String[] args) { St...
  • qq_32079585
  • qq_32079585
  • 2016年08月30日 20:23
  • 1002

WebService写系统日志

string sourcename = "ycsmart";         EventLogEntryType errotype = EventLogEntryType.SuccessAudit;...
  • xcmonline
  • xcmonline
  • 2012年01月07日 22:36
  • 5526

Webservice axis2打印请求、响应报文方法

Webservice axis2打印请求、响应报文方法 包:axis2-kernel-1.7.4.jar 包路径:org.apache.axis2.description 类:OutInAxis...
  • ardo_pass
  • ardo_pass
  • 2017年11月07日 22:48
  • 259

手动发送xml报文调用webservice

public String sendMessageByWebService2(String phone, String msg, String... args){ String webser...
  • wjg19890301
  • wjg19890301
  • 2013年12月10日 14:51
  • 4428

使用cxf实现webService服务

本人第一写文档,各种工具使用还不熟悉,在编写过程中也出现不少问题。这里,不会深入到为什么,只是将用代码加文字描述把一个webService的创建到使用以及与spring的整合叙述一下,也希望大神们多多...
  • u010166195
  • u010166195
  • 2016年03月31日 09:11
  • 1513

CXF打印SOAP报文,记录WebService日志

CXF是Apache发布的一个用于快速构建Services的框架,用于构建WebService客户端及服务端。 使用cxf构建的java程序,在java层面看到的是很多层的java类对象,但是在实际的...
  • avwjq
  • avwjq
  • 2017年11月06日 17:59
  • 539
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:WebService服务中,将写原始报文日志的功能由单独线程处理
举报原因:
原因补充:

(最多只允许输入30个字)