亚洲好骚综合-亚洲黄色录像-亚洲黄色网址-亚洲黄色网址大全-99久久99久久-99久久99久久精品国产

您的位置:軟件測試 > 開源軟件測試 > 開源性能測試工具 > Jmeter
使用JMeter測試你的EJB
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時間:[ 2013/3/15 14:38:01 ] 推薦標(biāo)簽:

  對EJB進(jìn)行一些性能基準(zhǔn)測試是非常有必要和有幫助的,測試的方法和工具有很多,不過我近發(fā)現(xiàn),Apache JMeter是進(jìn)行基準(zhǔn)測試的一個工具。可惜的是,JMeter沒有提供一個可測試任意EJB的通用取樣器(sampler),不過,我們可以自己動手來創(chuàng)建一個。

  首先,讓我們簡單的了解一下Apache JMeter,它是一個的純Java桌面應(yīng)用,可用于壓力測試和性能測量。它初被設(shè)計用于Web應(yīng)用測試但后來擴(kuò)展到其他測試領(lǐng)域。

  在本篇文章中,我使用JBoss應(yīng)用服務(wù)器來運(yùn)行我的EJB。使用其它容器的實現(xiàn)過程應(yīng)該也非常類似。

  1、首先為EJB創(chuàng)建一個工廠(factory)類

  我們需要做的第一件事情是,創(chuàng)建一個簡單的Singleton factory class,以為你的測試創(chuàng)建EJB客戶端實例。參考代碼如下:

  public class MyServiceFactory {

  private static final Log log = LogFactory.getLog(MyServiceFactory.class);

  private static MyService service;

  private static MyServiceFactory me;

  private MyServiceFactory() { }

  static {

  MyServiceFactory.me = new MyServiceFactory();

  }

  public static MyServiceFactory getInstance() {

  return MyServiceFactory.me;

  }

  public MyService getService() {

  if (MyService.service == null) {

  try {

  log.info("Loading the service...");

  Context ctx = new InitialContext();

  service = (MyService)ctx.lookup("MyAction/remote");

  if (service == null) {

  log.error("Didn't get the service!");

  }

  } catch (NamingException e) {

  log.error("Error looking up the remote service", e);

  return null;

  }

  }

  return service;

  }

  }
  2、編寫測試代碼

  接下來我們需要自己編寫測試代碼,為了實現(xiàn)這個目的,我們可以對JMeter的 org.apache.jmeter.protocol.java.sampler包中的AbstractJavaSamplerClient類進(jìn)行擴(kuò)展。這個抽象類具有一個runTest方法,我們需要對其進(jìn)行重寫(override),使用這個方法來實現(xiàn)實際的測試。另外,我們還將重寫 getDefaultParameters方法,以使其提供某些合理的默認(rèn)值,它們將在JMeter圖形應(yīng)用界面中顯示。

  package us.mikedesjardins.demo.jmeter;

  import org.apache.jmeter.config.Arguments;

  import org.apache.jmeter.protocol.java.sampler.AbstractJavaSamplerClient;

  import org.apache.jmeter.protocol.java.sampler.JavaSamplerContext;

  import org.apache.jmeter.samplers.SampleResult;

  public class DigitalContentServiceEJBTestSampler extends AbstractJavaSamplerClient {

  public SampleResult runTest(JavaSamplerContext context) {

  SampleResult results = new SampleResult();

  MyService service = MyServiceFactory.getInstance().getService();

  results.sampleStart();

  Long param1 = context.getLongParameter("PARAM_1");

  String param2 = context.getStringParameter("PARAM_2");

  MyResult result = service.myMethod(param1, param2);

  if (result != null) {

  results.setSuclearcase/" target="_blank" >ccessful(true);

  results.setResponseCodeOK();

  results.setResponseMessage("'myResult:" + myResult);

  } else {

  results.setSuccessful(false);

  }

  results.sampleEnd();

  return results;

  }

  @Override

  public Arguments getDefaultParameters() {

  Arguments args = new Arguments();

  args.addArgument("PARAM_1", "4815162342");

  args.addArgument("PARAM_2", "Iculus");

  return args;

  }

  }

  3、運(yùn)行JMeter

  JMeter的擴(kuò)展lib目錄是${JMETER_INSTALL_LIB}/lib/ext。你需要把所有EJB客戶端所需要的jar文件拷貝到這個目錄中。如果你使用的是JBoss,則需要把jbossall-client.jar拷貝到這個目錄中;對于其它應(yīng)用服務(wù)器,則拷貝類似的客戶端jar文件到這個目錄。

  當(dāng)你啟動JMeter后,你的新取樣器(sampler)將會出現(xiàn)在它的Sampler菜單中,這樣你可以使用它來測試你的EJB了。

軟件測試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd
主站蜘蛛池模板: 最近中文字幕网2019 | 老司机亚洲精品影院 | 亚洲午夜精品 | 色在线影院 | 亚洲免费在线 | 青青青国产色视频在线观看 | 免费看日批 | 色天使色婷婷在线影院亚洲 | 国产亚洲青色国产 | 天天夜夜啦啦啦 | 日本高清中文字幕一区二区三区 | 亚洲国产日韩a在线播放 | 国产三级图片 | 大香网伊人久久综合网2021 | 欧美视频亚洲 | 老湿影院在线免费观看 | 巨胸喷奶水www久久久 | 国产成人 免费观看 | 日韩经典在线观看 | 欧美疯狂xxxx乱大交视频 | 一本到在线视频 | 中文字幕亚洲综合久久菠萝蜜 | 亚洲sss综合天堂久久久 | 欧美日韩综合网 | 亚洲国产日韩综合久久精品 | 国产香蕉久久精品综合网 | 国产一二三四区中 | 色偷偷8888欧美精品久久 | 亚洲二区视频 | 操干干 | 一级一片在线播放在线观看 | 日韩亚洲欧美综合 | 亚洲天堂视频在线播放 | 一级毛片成人免费看a | 一级做a爱过程视频免 | 操操影视 | 日本在线不卡一区二区 | 午夜网站在线观看免费网址免费 | 亚洲午夜精品一区二区 | 九月丁香激情综合婷婷玉立 | 欧美精品成人久久网站 |