转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 软件开发 >> JAVA开发 >> 正文
J2EE Web服务客户端质量报告(三)         ★★★★

J2EE Web服务客户端质量报告(三)

作者:闵涛 文章来源:闵涛的学习笔记 点击数:843 更新时间:2009/4/22 23:28:26
  Payload软件包

  Payload软件包可用于客户端,也可用于服务器。它包含三个类:ClientReport、CurrentReport、和 Serializer。



  ClientReport 表示一个客户端次数报告:

package Payload;

import java.io.*;
import java.util.*;

/**
*
* @author Brian Connolly Brian@ideajungle.com
*/
public class ClientReport implements Serializable {

 public Date clientStartDateTime;
 public Date serverStartDateTime;
 public long clientElapsedMS;
 public String type;
 public String status;
 public String transactionID;
 public String clientID;
 //Default public constructor for WSDL
 public ClientReport() {
 }

/*
. . . Get, set property methods are not shown
*/
  在上述代码中,clientStartDateTime记录客户端初始化事务的时间。serverStartDateTime 当前没有使用;它的用途是保存事务的服务器开始时间以便事务次数可与服务器资源使用的随时间的变化关联起来。

  ClientElapsedMS是我们记录的主要工具:从客户端开始记录新事务到它收到最后一个Web服务调用的结果为止这段时间的毫秒数。

  Type允许客户端使用类型特征化事务。通常,事物系统提供许多种类型的事务。我们期望某些类型对于服务器来说相对容易一些,某些类型相对难一些,这样当我们分析响应次数和测量服务器资源时我们能够将他们辨别出来。

  Status记录事务完成时的完成状态。

  ClientID 是客户端标记符。当分析服务品质时我们可以使用它来区别同一个客户端完成的事务。

  客户端使用第二个类CurrentReport来定界应用事务:

package Payload;

import java.util.*;
import java.rmi.server.*;

/**
*
* @author Brian Connolly Brian@ideajungle.com
*/
public class CurrentReport {

 public static UID ClientIdentifier = new UID();
 /** Holds value of property currentReport */
 public static ClientReport Report;
 public static ClientReport LastReport;

 /** Creates a new instance of CurrentReport */
 public CurrentReport() {
 }

 public void BeginTransaction() {
  Report = new ClientReport();
  Report.setClientID(ClientIdentifier.toString());
  Report.setClientStartDateTime( new Date());
 }

 public void CommitTransaction(String transactionID, String type, String status) {
  Report.setTransactionID(transactionID);
  Report.setStatus(status);
  Report.setType(type);
  long l1 = Report.getClientStartDateTime().getTime();
  long l2 = new Date().getTime();
  Report.setClientElapsedMS(l2-l1);
  LastReport = Report;
  Report = null;
 }

/** Getter for property currentReport
* @return Value of property currentReport
*/

 public static ClientReport getReport() {
  ClientReport last = LastReport;
  LastReport = null;
  return last;
 }

/** Setter for property currentReport
* @param currentReport New value of property currentReport
*/

 public void setReport(ClientReport Report) {
  this.LastReport = Report;
 }
}
  CurrentReport保存进行中的事务的当前 ClientReport 。它也保存LastReport,也就是一个完成的事务。它还产生一个作为唯一设备标记符使用的客户端标记符——在实际的应用中,这个客户端标记符可被修改为全局的唯一标记符。CurrentReport是非线程安全的;我们假设在客户端应用中只有一个单线程执行服务器事务。


[网页制作][J2EE] 实战开发EJB  [网页制作]实战 J2EE 开发购物网站 经验篇
[JAVA开发]周末闲侃:论J2EE程序员的武功修为  [JAVA开发]基于J2EE的电子商务网站实例解析
[JAVA开发]用AJAX+J2EE实现一个网上会议室系统  [JAVA开发]利用Spring框架改进J2EE编程
[JAVA开发]J2EE MVC模式JSF与Struts的异同  [JAVA开发]J2EE Web服务客户端质量报告(五)
[JAVA开发]J2EE Web服务客户端质量报告(四)  [JAVA开发]J2EE Web服务客户端质量报告(二)
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · C语言系列  · VB.NET程序
    · JAVA开发  · Delphi程序
    · 脚本语言
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台