国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

J2EE Web服務(wù)客戶端質(zhì)量報(bào)告(五)

2019-11-18 15:38:56
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
建立樣品客戶端應(yīng)用

  要建立樣品客戶端應(yīng)用,請(qǐng)將下列文件系統(tǒng)添加到IDE中:<download Directory>/Metrics/TransactionClient.
該文件系統(tǒng)包含一個(gè)應(yīng)用類和一個(gè)Xact 軟件包。應(yīng)用類可模擬客戶端事務(wù)的執(zhí)行,Xact 軟件包包含客戶端Web服務(wù)處理器。

  Xact軟件包可使用Sun Web服務(wù)開(kāi)發(fā)者工具包來(lái)創(chuàng)建,這個(gè)工具包包括在Sun ONE應(yīng)用框架內(nèi)。批文件gen.bat使用wscompile命令創(chuàng)建Xact軟件包。假如你想重建該軟件包的話, 你只需調(diào)整環(huán)境變量和它使用的config.xml 中的URL。但是,假如你這樣做的話,你得重寫(xiě)添加到Stub 類Web方法的代碼行,你要用它來(lái)覆蓋原來(lái)的代碼行。

  我們看看XactClientApp,樣品客戶端應(yīng)用程序類:

import Xact.*;
import javax.xml.rpc.Stub;
import Payload.*;

public class XactClientApp {

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

/**
* @param args the command line arguments
*/

public static void main(String[] args) {
 try {
  int cyclesPerXact = 1;
  int numberXacts = 5;
  String transactionID = "";
  String transactionType =
  String.valueOf(cyclesPerXact) +" submit,check,gets";
  Stub stub = createPRoxy();
  XactServiceServantInterface xact = (XactServiceServantInterface)stub;
  CurrentReport cr = new CurrentReport();
  for (int x=1; x<= numberXacts;x++){
   cr.BeginTransaction();
   for (int i=1; i<=cyclesPerXact;i++){
    transactionID = xact.submitWork("new transaction");
    System.out.println("Transaction:" + transactionID);
    boolean unused = xact.checkWork(transactionID);
    String ignore = xact.getResult(transactionID);
   }
   cr.CommitTransaction(transactionID, transactionType,"sUCcess");
  }
 } catch (Exception ex) {
  ex.printStackTrace();
 }
}

private static Stub createProxy() {
 return (Stub)(new XactService_Impl()).getXactServiceServantInterfacePort();
}
}
  先看它的內(nèi)部循環(huán)。客戶端應(yīng)用判定商業(yè)事務(wù)的組成。在本例中,它包括三個(gè)Web服務(wù)調(diào)用:針對(duì)submitWork()、checkWork()和getResult()的分別調(diào)用。客戶端使用beginTransaction()和 commitTransaction()定界事務(wù)。在該循環(huán)的第二個(gè)循環(huán)中,在CurrentReport.LastReport 對(duì)象中將出現(xiàn)一個(gè)完整的ClientReport。當(dāng)客戶端調(diào)用submitWork()時(shí),Web 服務(wù)客戶端Stub 類中相應(yīng)方法調(diào)用Serializer.attachPendingReportToMessage() 將該報(bào)告連接到SOAP信息上。

  CyclesperXact和numberXacts用于控制每件事務(wù)的Web服務(wù)調(diào)用數(shù)和客戶端在運(yùn)行過(guò)程中遞交的事務(wù)數(shù)。

  右擊應(yīng)用程序圖標(biāo)XactClientApp;先選擇Build All項(xiàng),接著選擇Execute項(xiàng)。在執(zhí)行窗口中,你會(huì)看到:對(duì)于每件事務(wù),應(yīng)用都報(bào)告它收到的事務(wù)標(biāo)志符。觀察應(yīng)用服務(wù)Windows輸出控制臺(tái),你可以看到以下的代碼行:

INFO: CORE3274: successful server startup
INFO: CORE5053: application onReady complete.
INFO: CORE3282: stdout: Exception occurred connecting to queue: javax.naming.Nam
eNotFoundException
INFO: CORE3282: stdout: Exception occurred connecting to queue: javax.naming.Nam
eNotFoundException
INFO: CORE3282: stdout: Exception occurred connecting to queue: javax.naming.Nam
eNotFoundException
INFO: CORE3282: stdout: Exception occurred connecting to queue: javax.naming.Nam
eNotFoundException

  我們還沒(méi)有安裝應(yīng)用服務(wù)次數(shù)排列或者配置應(yīng)用服務(wù)次數(shù)讀取器EJB。客戶端產(chǎn)生次數(shù)福建,服務(wù)器接收它,并試圖將它列隊(duì)到一個(gè)不存在的隊(duì)列中。Serializer 類只是報(bào)告錯(cuò)誤并答應(yīng)應(yīng)用程序繼續(xù)運(yùn)行。回想我們的目標(biāo)之一就是保持商業(yè)事物系統(tǒng)的總可靠性。可是我們卻看到即使新的次數(shù)組件失敗,要害的商業(yè)事務(wù)仍然可以照常進(jìn)行。進(jìn)入討論組討論。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 确山县| 东山县| 大竹县| 三门峡市| 广饶县| 孝义市| 昌邑市| 肥乡县| 张家界市| 于都县| 汕尾市| 武隆县| 云阳县| 中方县| 胶南市| 余干县| 北票市| 乌鲁木齐市| 维西| 新闻| 鹿邑县| 周宁县| 谢通门县| 莲花县| 沂水县| 南开区| 德清县| 福贡县| 霍林郭勒市| 南安市| 大邑县| 沁阳市| 成武县| 株洲县| 安化县| 台北市| 宿州市| 长岛县| 柳江县| 安义县| 井研县|