Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/rest/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何实现出站http响应与后续出站http请求之间的特定间隔_Java_Rest_Servlets_Timer_Intervals - Fatal编程技术网

Java 如何实现出站http响应与后续出站http请求之间的特定间隔

Java 如何实现出站http响应与后续出站http请求之间的特定间隔,java,rest,servlets,timer,intervals,Java,Rest,Servlets,Timer,Intervals,关于我的需求背景:我是一名性能工程师,希望开发一个REST(基于jersey,已经完成了一半)负载测试模拟器,可以满足以下场景: 服务于服务a的http/REST请求 暂停或等待X秒(模拟真实网元的通信延迟) 通过容纳服务a请求中的特定字段,触发服务B的http/REST请求 由于成千上万的并发用户会给它带来压力,thread.sleep不是一个选项。我的问题是,可以使用什么样的J2EE设施(计时器、队列等)来实现会话中两个相关对话之间所需的延迟 另外,你可以这样想,我正在实现一个短信服务中

关于我的需求背景:我是一名性能工程师,希望开发一个REST(基于jersey,已经完成了一半)负载测试模拟器,可以满足以下场景:

  • 服务于服务a的http/REST请求
  • 暂停或等待X秒(模拟真实网元的通信延迟)
  • 通过容纳服务a请求中的特定字段,触发服务B的http/REST请求
由于成千上万的并发用户会给它带来压力,thread.sleep不是一个选项。我的问题是,可以使用什么样的J2EE设施(计时器、队列等)来实现会话中两个相关对话之间所需的延迟


另外,你可以这样想,我正在实现一个短信服务中心(SMSC)的模拟器,它不仅向目标终端发送消息,而且在消息到达接收者的移动终端后向发送者提供发送报告。它们是同一会话中的两个不同事务,具有时序关系

我不太理解测试场景。是服务A接收请求,调用服务B,等待B上的响应,然后在A上返回响应吗?Dmitry,而不是您所说的嵌入式调用案例。容器中的预期流量为:1。接收服务请求。2.响应服务A.3。暂停X秒。4.发送服务B请求。5.收到服务B响应。我仍然不明白这个模拟器在模拟什么:服务B上的负载?A和B之间交互的延迟?还有什么?服务B上的负载是由服务A触发的。我的问题是如何在两个相关事务之间实现所需的延迟。关键在于延迟。好的,明白了。现在,下一个问题是为什么thread.sleep()不是一个选项。如果使用sleep()执行此操作,您能详细说明您认为会发生什么情况吗?