我有一个带有jersey和gradle的spring boot应用程序,我正在尝试使用springfox自动生成API文档.
我按照这里的步骤操作:http://springfox.github.io/springfox/docs/current/
这是我做的:
的build.gradle:
dependencies {
.........
//Swagger
compile "io.springfox:springfox-swagger2:2.4.0"
compile "io.springfox:springfox-bean-validators:2.4.0"
compile 'io.springfox:springfox-swagger-ui:2.4.0'
}
Run Code Online (Sandbox Code Playgroud)Spring boot应用:
@SpringBootApplication
@EnableSwagger2
public class AnalyzerServiceApplication{
public static void main(String[] args) {
SpringApplication.run(AnalyzerServiceApplication.class, args);
}
@Bean
public Docket analyzerApi() {
return new Docket(DocumentationType.SWAGGER_2)
.select()
.apis(RequestHandlerSelectors.any())
.paths(PathSelectors.any())
.build()
.pathMapping("/")
.directModelSubstitute(LocalDate.class, String.class)
.genericModelSubstitutes(ResponseEntity.class)
.alternateTypeRules(
newRule(typeResolver.resolve(DeferredResult.class,
typeResolver.resolve(ResponseEntity.class, WildcardType.class)),
typeResolver.resolve(WildcardType.class)))
.useDefaultResponseMessages(false)
.globalResponseMessage(RequestMethod.GET,
newArrayList(new ResponseMessageBuilder()
.code(500)
.message("500 message")
.responseModel(new ModelRef("Error"))
.build()))
.securitySchemes(newArrayList(apiKey()))
.securityContexts(newArrayList(securityContext()))
.enableUrlTemplating(true)
.globalOperationParameters(
newArrayList(new ParameterBuilder()
.name("someGlobalParameter")
.description("Description of someGlobalParameter")
.modelRef(new ModelRef("string"))
.parameterType("query")
.required(true) …Run Code Online (Sandbox Code Playgroud)我正在使用jMeter来加载我的系统.我有两个线程组.第一个应该注入大约1M个事件,而第二个模拟UI的请求.
我需要第二个线程组继续向UI发送请求,直到第一个完成注入1M事件.
我找到了这个解决方案,并按如下方式实现:
在第一个线程组中,我使用以下代码添加了BeanShell PreProcessor:
props.put("DONE","FALSE");
仍然在第一个线程组中,我使用以下代码添加了BeanShell PostProcessor:
int activeThreadCount = org.apache.jmeter.threads.JMeterContextService.getNumberOfThreads();
Run Code Online (Sandbox Code Playgroud)if (activeThreadCount <= 1) { props.put("DONE", "TRUE"); }
在第二个线程组中,我添加了一个具有以下条件的If Controller:
$ {__ BeanShell(props.get("DONE")!= null && props.get("DONE")=="TRUE")}
此解决方案无法正常工作,我在测试结束时看到以下错误:
2016/12/22 20:52:30错误 - jmeter.threads.JMeterThread:测试失败!java.lang.StackOverflowError java.lang.String.valueOf(Unknown Source)at java.lang.StringBuilder.append(Unknown Source)at org.apache.jmeter.engine.util.CompoundVariable.execute(CompoundVariable.java:152) org.apache.jmeter.engine.util.CompoundVariable.execute(CompoundVariable.java:117)位于org.apache.jit.testelement的org.apache.jmeter.testelement.property.FunctionProperty.getStringValue(FunctionProperty.java:101) org.apache.jmeter.control.IfController.getCondition(IfController.java:177)中的.AbstractTestElement.getPropertyAsString(AbstractTestElement.java:271)atg.apache.jmeter.control.IfController.next(IfController.java:240)at org.apache.jmeter.control.GenericController.nextIsAController(GenericController.java:222)位于org.apache.jmeter.control.LoopController.next的org.apache.jmeter.control.GenericController.next(GenericController.java:176) LoopController.java:123)org.apache.j上的org.apache.jmeter.control.GenericController.nextIsAController(GenericController.java:225)mm.control.GenericController.next(GenericController.java:176)位于org.apache.j中的org.apache.jmeter.control.LoopController.next(LoopController.java:123)org.apache.control.LoopController.nextIsNull(LoopController.java: 151)org.apache.jmeter.control.GenericController.next(GenericController.java:171)at org.apache.jmeter.control.LoopController.next(LoopController.java:123)
......
......
......
(继续上述约1000行)
任何人都可以告诉我这个错误的来源是什么?我可以简单地忽略它吗?看起来它是一个没有任何停止条件的递归操作.
谢谢盖伊H.