阿翔编程学-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日志服务类相关推荐

  1. 阿翔编程学-Axis传递Pojo对象

    Axis传递Pojo对象 (1)编写服务器端Java程序 //=========================================================== //传递Java对 ...

  2. 阿翔编程学-Axis

    Axis篇 Axis简介 Axis是Apache组织推出的SOAP引擎,Axis项目是Apache组织著名的SOAP项目的后继项目,目前最新版本是采用Java开发的1.1版本,C++的版本正在开发之中 ...

  3. 阿翔编程学-XFire

    XFire篇 XFire简介     它拥有一个轻量级的信息处理模块,通过STAX来与SOAP信息相结合.提供了一个工作在web services下的简单API,支持POJO和schema开发.XFi ...

  4. 阿翔编程学-WebService介绍及使用

    Web Service详细解析及使用方法 XFire篇 XFire简介 XFire 是 codehaus推出的下一代的 java SOAP框架,它构建了 POJO 和 SOA 之间的桥梁,主要特性就是 ...

  5. 阿翔编程学-Castor

    代码如下: package com.windtec.offline.server.service.gongan; import java.io.File; import java.io.FileNot ...

  6. 阿翔编程学-Lucene入门与使用

    Lucene入门与使用 本文主要面向具体使用,适用于已熟悉java编程的lucene初学者. 1. Lucene的简介 1.1 Lucene 历史 org.apache.lucene包是纯java语言 ...

  7. 阿翔编程学-Java杂文

    Java基础:类,对象,注释,数据类型,成员变量,成员函数,运算符,控制语句,继承,多态,父类,子类,方法重载,方法覆盖,访问控制,包,静态变量,静态方法,抽象类,接口,线程.     J2EE开发: ...

  8. 阿翔编程学-计算机网络安全知识摘要

    1.什么是计算机网络? 简单地说,计算机网络是由两台以上计算机连在一起组成的"计算机群",再加上相应"通信设施"而组成的综合系统. 2.资源共享 我们都已经知道 ...

  9. 阿翔编程学-PKI介绍

    PKI   介   绍 1.1 PKI的概念 PKI是"Public Key Infrastructure"的缩写,意为"公钥基础设施",是一个用非对称密码算法 ...

最新文章

  1. Dockerfile springboot项目拿走即用,将yml配置文件从外部挂入容器
  2. 分层条件关系网络在视频问答VideoQA中的应用:CVPR2020论文解析
  3. Atitit r2017 r6 doc list on home ntpc.docx
  4. _Ansible批量管理与维护
  5. RHEL4- DNS服务(四)DNS的开机自动启动控制
  6. C#下2\10\16进制互转代码总汇
  7. Log4net创建日志及简单扩展
  8. java转换ppt,ppt转成图片 乱码问题解决
  9. Atitit 数据库view视图使用推荐规范与最佳实践与方法
  10. plsql 查看表空间使用情况
  11. 90年经典坦克大战(cocos2d-x)
  12. 软件过程— 螺旋模型
  13. 你觉得成都这类城市,哪方面发展最值得期待?
  14. 【AE】【栅格操作】
  15. 如何使用cpolar内网穿透群晖NAS套件
  16. Python百度指数抓取 一键生成指数信息导出到txt文件,制作可视化动态图表
  17. 解决assets目录下的图片在布署到公网后不显示问题
  18. 身份证实名认证API接口
  19. C语言求卢卡斯序列,斐波那契序列和卢卡斯序列
  20. Android刷机备忘录

热门文章

  1. 【转载】华为荣耀V9手机如何设置WiFi热点共享
  2. Apache Doris 0.11.x 版本升级
  3. Hadoop2.7.3 mapreduce(三)SequenceFile和MapFile 简介与应用
  4. こっそり==そっくり==たっぷり==5分钟--完全掌握6个日语N2常考副词。---路得老师学日语...
  5. matlab 二重傅里叶积分,傅里叶积分、傅里叶变换的matlab实现.doc
  6. 权威发布|恭喜 Apache Doris PPMC 陈明雨入选 2021 中国开源先锋 33 人之心尖上的开源人物...
  7. ISA(MIPS,ARM,RISC-V)中的算术运算溢出检测逻辑是怎样的?
  8. DNS信息查询 ,子域名爆破工具
  9. 微软认证70-541,70-542等考试试题(80%以上的题目是一样的)
  10. 【鸡头?凤尾?】选择大公司还是小公司是个问题