阿翔编程学-Axis日志服务类
阿翔编程学-Axis日志服务类
//===========================================================
//日志服务类程序 author:曹翔
//===========================================================
package com.ruix.service;
import java.io.FileOutputStream;
import java.io.PrintWriter;
import java.util.Date;
import org.apache.axis.AxisFault;
import org.apache.axis.Handler;
import org.apache.axis.MessageContext;
import org.apache.axis.handlers.BasicHandler;
/**
* 日志服务类
* @author caoxiang
* @version 1.0
*/
public class LogHandler extends BasicHandler {
//序列号
private static final long serialVersionUID = 1L;
/**
* invoke,每一个handler都必须实现的方法
* @param msgContext
*/
public void invoke(MessageContext msgContext) throws AxisFault {
//每当web服务被调用,都记录到log中。
try {
//获得服务
Handler handler = msgContext.getService();
String filename = (String)getOption("filename");
//判断文件名是否有值
if ((filename == null) || (filename.equals("")))
throw new AxisFault("Server.NoLogFile",
"No log file configured for the LogHandler!",
null, null);
//创建文件流
FileOutputStream fos = new FileOutputStream(filename, true);
PrintWriter writer = new PrintWriter(fos);
Integer counter = (Integer)handler.getOption("accesses");
if (counter == null)
counter = new Integer(0);
//调用次数的计算
counter = new Integer(counter.intValue() + 1);
//日期的获得
Date date = new Date();
//系统写入
msgContext.getMessage().writeTo(System.out);
String result = "在"+date + ": Web 服务 " +msgContext.getTargetService() +
" 被调用,现在已经共调用了 " + counter + " 次.";
handler.setOption("accesses", counter);
writer.println(result);
writer.close();
//异常处理
} catch (Exception e) {
throw AxisFault.makeFault(e);
}
}
}
阿翔编程学-Axis日志服务类相关推荐
- 阿翔编程学-Axis传递Pojo对象
Axis传递Pojo对象 (1)编写服务器端Java程序 //=========================================================== //传递Java对 ...
- 阿翔编程学-Axis
Axis篇 Axis简介 Axis是Apache组织推出的SOAP引擎,Axis项目是Apache组织著名的SOAP项目的后继项目,目前最新版本是采用Java开发的1.1版本,C++的版本正在开发之中 ...
- 阿翔编程学-XFire
XFire篇 XFire简介 它拥有一个轻量级的信息处理模块,通过STAX来与SOAP信息相结合.提供了一个工作在web services下的简单API,支持POJO和schema开发.XFi ...
- 阿翔编程学-WebService介绍及使用
Web Service详细解析及使用方法 XFire篇 XFire简介 XFire 是 codehaus推出的下一代的 java SOAP框架,它构建了 POJO 和 SOA 之间的桥梁,主要特性就是 ...
- 阿翔编程学-Castor
代码如下: package com.windtec.offline.server.service.gongan; import java.io.File; import java.io.FileNot ...
- 阿翔编程学-Lucene入门与使用
Lucene入门与使用 本文主要面向具体使用,适用于已熟悉java编程的lucene初学者. 1. Lucene的简介 1.1 Lucene 历史 org.apache.lucene包是纯java语言 ...
- 阿翔编程学-Java杂文
Java基础:类,对象,注释,数据类型,成员变量,成员函数,运算符,控制语句,继承,多态,父类,子类,方法重载,方法覆盖,访问控制,包,静态变量,静态方法,抽象类,接口,线程. J2EE开发: ...
- 阿翔编程学-计算机网络安全知识摘要
1.什么是计算机网络? 简单地说,计算机网络是由两台以上计算机连在一起组成的"计算机群",再加上相应"通信设施"而组成的综合系统. 2.资源共享 我们都已经知道 ...
- 阿翔编程学-PKI介绍
PKI 介 绍 1.1 PKI的概念 PKI是"Public Key Infrastructure"的缩写,意为"公钥基础设施",是一个用非对称密码算法 ...
最新文章
- Dockerfile springboot项目拿走即用,将yml配置文件从外部挂入容器
- 分层条件关系网络在视频问答VideoQA中的应用:CVPR2020论文解析
- Atitit r2017 r6 doc list on home ntpc.docx
- _Ansible批量管理与维护
- RHEL4- DNS服务(四)DNS的开机自动启动控制
- C#下2\10\16进制互转代码总汇
- Log4net创建日志及简单扩展
- java转换ppt,ppt转成图片 乱码问题解决
- Atitit 数据库view视图使用推荐规范与最佳实践与方法
- plsql 查看表空间使用情况
- 90年经典坦克大战(cocos2d-x)
- 软件过程— 螺旋模型
- 你觉得成都这类城市,哪方面发展最值得期待?
- 【AE】【栅格操作】
- 如何使用cpolar内网穿透群晖NAS套件
- Python百度指数抓取 一键生成指数信息导出到txt文件,制作可视化动态图表
- 解决assets目录下的图片在布署到公网后不显示问题
- 身份证实名认证API接口
- C语言求卢卡斯序列,斐波那契序列和卢卡斯序列
- Android刷机备忘录
热门文章
- 【转载】华为荣耀V9手机如何设置WiFi热点共享
- Apache Doris 0.11.x 版本升级
- Hadoop2.7.3 mapreduce(三)SequenceFile和MapFile 简介与应用
- こっそり==そっくり==たっぷり==5分钟--完全掌握6个日语N2常考副词。---路得老师学日语...
- matlab 二重傅里叶积分,傅里叶积分、傅里叶变换的matlab实现.doc
- 权威发布|恭喜 Apache Doris PPMC 陈明雨入选 2021 中国开源先锋 33 人之心尖上的开源人物...
- ISA(MIPS,ARM,RISC-V)中的算术运算溢出检测逻辑是怎样的?
- DNS信息查询 ,子域名爆破工具
- 微软认证70-541,70-542等考试试题(80%以上的题目是一样的)
- 【鸡头?凤尾?】选择大公司还是小公司是个问题