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

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

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


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

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


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

相关文章推荐

Android 单独开启线程处理服务器数据提交和访问

package com.boonya.wtms.activities; import java.io.Serializable; import java.util.List; import com....
  • boonya
  • boonya
  • 2014-11-15 23:23
  • 4001

Intellij插件开发:MonkeyMaster插件的实现(三)——写入日志的线程处理

【转载请注明出处】 笔者:DrkCore (http://blog.csdn.net/DrkCore) 原文链接:(http://blog.csdn.net/drkcore/article/det...

Broadcast Receiver开启服务而不是子线程处理耗时操作

转自:http://blog.csdn.net/cquwentao/article/details/27419217 Broadcast Receiver用于接收并处理广播通知(broadc...

MFC线程处理概述.doc

  • 2010-03-09 18:55
  • 13KB
  • 下载

Java线程处理

  • 2012-03-14 02:29
  • 281KB
  • 下载

流文件合并,线程处理。

unit Merger; {*********************************************************************** ...

Java的线程处理文档

  • 2008-08-26 16:01
  • 501KB
  • 下载

【FastDev4Android框架开发】AndroidAnnnotations注入框架使用之线程处理Threading(十二)

(一).前言:           前面我们已经对于AndroidAnnotations框架的事件绑定做了讲解,今天我们开始具体学习一下线程处理(Threading)方法。    ...

工作线程处理后台范例

  • 2011-08-31 11:46
  • 27KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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