smsService接口(dubbo接口)
package com.lakala.crosspay.jmeter.client.integration; import com.lakala.crosspay.sms.api.SmsService;
import com.lakala.crosspay.sms.api.dto.SmsDTO;
import com.lakala.sh.framework.core.error.Result;
import com.lakala.sh.framework.core.utils.DateUtil;
import org.apache.commons.lang3.RandomStringUtils;
import org.apache.jmeter.protocol.java.sampler.AbstractJavaSamplerClient;
import org.apache.jmeter.protocol.java.sampler.JavaSamplerContext;
import org.apache.jmeter.samplers.SampleResult; import org.apache.jmeter.config.Arguments; import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext; import java.util.Date; /**
* SmsServiceSampleClient
*
* @author makarov
* @desc
* @date 2018/8/24
*/
public class SmsServiceSampleClient extends AbstractJavaSamplerClient { private ApplicationContext applicationContext; private long startTimestamp; private long endTimestamp; @Override public Arguments getDefaultParameters() {
Arguments args = new Arguments();
args.addArgument("Sid", "");
args.addArgument("mobile","");
args.addArgument("templateNo",""); return args;
}
public void setupTest(JavaSamplerContext context) {
applicationContext = new ClassPathXmlApplicationContext("classpath:remote-consumer.xml");
} public SampleResult runTest(JavaSamplerContext javaSamplerContext) {
SmsService smsService = (SmsService) applicationContext.getBean("smsService");
getNewLogger().info("smsService:{}", smsService);
SampleResult sampleResult = new SampleResult();
sampleResult.sampleStart();
try {
startTimestamp = System.currentTimeMillis();
SmsDTO smsDTO = new SmsDTO();
smsDTO.setSid(RandomStringUtils.randomAlphanumeric(32));
smsDTO.setMessage("{\"BATCH_NO\":\"" + DateUtil.format(new Date(), "yyyyMMdd") + RandomStringUtils.randomNumeric(6) + "\",\"CUSTOMER_NO\":\"CUST00000001\"}");
smsDTO.setMobile("18516235811");
smsDTO.setTemplateNo("481869683453067264");
smsDTO.setType("01");
Result<SmsDTO> result = smsService.sendSms(smsDTO);
if (result.isSuccess()) {
sampleResult.setSuccessful(true);
} else {
sampleResult.setSuccessful(false);
}
} catch (Exception e) {
sampleResult.setSuccessful(false);
getNewLogger().error("调用服务接口异常:", e);
}
sampleResult.sampleEnd(); return sampleResult;
} @Override
public void teardownTest(JavaSamplerContext context) {
endTimestamp = System.currentTimeMillis();
getNewLogger().info("调用接口耗时:{}ms", endTimestamp - startTimestamp);
}
}
smsService接口(dubbo接口)的更多相关文章
- jmeter测试dubbo接口
本文讲解jmeter测试dubbo接口的实现方式,文章以一个dubbo的接口为例子进行讲解,该dubbo接口实现的功能为: 一:首先我们看服务端代码 代码架构为: 1:新建一个maven工程,pom文 ...
- 利用jmeter+JAVA对RPC的单接口(dubbo接口等)进行性能测试
建立JAVA项目 建立maven项目,加入Jmeter所需要的JAR包依赖. POM.xml 加入如下: <dependency> <groupId>org.apache.j ...
- Jmeter实现dubbo接口压测案例
当前项目中重构了消息服务,需要对消息服务接口做性能压测,评估消息服务的性能情况 通过和开发对接,目前消息服务是通过dubbo接口对内提供服务,所以才有了这边文章的记录 最初的压测这个dubbo接口有三 ...
- dubbo接口demo开发
接口需求 客户端输入uncleyong(当然,也可以输入其它字符串),服务端返回hello uncleyong 开发环境 jdk + idea + maven + zookeeper jdk安装 id ...
- jmeter5.1测试dubbo接口
dubbo接口功能介绍 客户端输入uncleyong(当然,也可以是其他字符串),服务端返回hello uncleyong 开发dubbo服务jmeter客户端 idea中创建模块dubbo_jmet ...
- java反射调用dubbo接口
需求:项目增加幂等 场景:1.三个项目:a .b.c2.a项目加幂等3.b项目dubbo调用项目a的时候超时没有获取返回结果,增加重试机制(非立即重试,3min or 5min 后重试)4.c项目是一 ...
- jmeter4.0测试dubbo接口遇到的问题:An error occurred: org.springframework.scheduling.quartz.CronTriggerBean has interface org.quartz.CronTrigger as super class
半年前,用jmeter4.0测试dubbo接口的时候,遇到这样一个问题 An error occurred: org.springframework.scheduling.quartz.CronTri ...
- Dubbo接口压测
在每年的双十一大促之前,除了全链路压测,还需要各个业务方对自己业务提供的核心接口进行单接口压测,以评判系统的稳定性和承压能力. 一.准备工作 环境准备:确保应用性能环境(perf)正常可用 压测接口梳 ...
- 【Dubbo&&Zookeeper】6、 给dubbo接口添加白名单——dubbo Filter的使用
在开发中,有时候需要限制访问的权限,白名单就是一种方法.对于Java Web应用,Spring的拦截器可以拦截Web接口的调用:而对于dubbo接口,Spring的拦截器就不管用了. dubbo提供了 ...
- 给dubbo接口添加白名单——dubbo Filter的使用
本文转自:http://blog.csdn.net/mj158518/article/details/47379799 在开发中,有时候需要限制访问的权限,白名单就是一种方法.对于Java Web应用 ...
随机推荐
- vue中使用echarts
1.下载依赖 cnpm i echarts -S 2.模块中引入 <template> <div class="analyzeSystem"> <di ...
- HDU 2254 奥运(矩阵+二分等比求和)
奥运 [题目链接]奥运 [题目类型]矩阵+二分等比求和 &题解: 首先离散化城市,之后就是矩阵快速幂了,但让求的是A^(t1)+A^(t1+1)+...+A^(t2),我先想的是打表,但时间真 ...
- nat123学习笔记
1.NAT123内网映射端口 在无内网路由管理员权限的情况下,需要将内网web应用暴露到公网访问,此时需要用到花生壳或者nat123(两个应用都不是免费的,其中花生壳可以8元认证,以后免费使用,nat ...
- date的用法
date -d "-1 month" "+%T" 当前时间减少一个月 +%T 简便表示时分秒 +%F 简便表示年月日 date +%Y 四位年份 date + ...
- Eclipse中tomcat更改部署路径 deply path
默认是部署在项目元数据文件夹.metadata文件夹下,需要更改到tomcat/webapps目录下 Eclipse中tomcat service设置 选择window ----show view-- ...
- ftp下载文件失败get: Access failed: 550 Failed to open file. (t1.log)
get: Access failed: 550 Failed to open file. (t1.log) 原因是被SELinux安全访问控制策略限制了. 科普: SELinux(Security-E ...
- python XML文件解析:用xml.dom.minidom来解析xml文件
python解析XML常见的有三种方法: 一是xml.dom.*模块,是W3C DOM API的实现,若需要处理DOM API则该模块很合适, 二是xml.sax.*模块,它是SAX API的实现,这 ...
- python内置函数zip
zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表. 如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以 ...
- linux常用命令:nl 命令
nl命令在linux系统中用来计算文件中行号.nl 可以将输出的文件内容自动的加上行号!其默认的结果与 cat -n 有点不太一样, nl 可以将行号做比较多的显示设计,包括位数与是否自动补齐 0 等 ...
- mac电脑设置USB键盘按键方法,设置多显示屏镜像显示器的方法
mac电脑设置USB键盘按键方法,设置多显示屏镜像显示器的方法 设置多显示屏镜像显示器的方法 ==================== mac电脑复制粘贴使用command+c command+v - ...