我创建了一个Gatling仿真脚本,它首先执行由 Logger 生成的一些请求 . 在此之后,它执行自定义操作,启动另一个线程,因为涉及阻塞方法 .

我现在的问题是模拟没有终止 . 即使请求在开始时只执行一次,我仍然会收到状态报告,说有一个活动用户 . 此外,如果我在自定义操作后添加更多请求,则不会执行它们 .

我怎样才能解决这个问题?

Edit

这是我的自定义操作:

class RegisterAction extends Action {

  override def execute(session: Session): Unit = CustomInboxRunner.startInboxRunner("usermail", "pw")

  override def name: String = "RegisterAction"
}

这是模拟脚本的相关摘录:

object ClickConfirmationLink {
  val action = new ActionBuilder {
    override def build(ctx: ScenarioContext, next: Action): Action = new RegisterAction
  }
  val pause = new PauseBuilder(1000 millis, None)
  val confirm = new ChainBuilder(List(action, pause))
}

val scn = scenario("UserRegistration").exec(Register.register, ClickConfirmationLink.confirm)

setUp(scn.inject(atOnceUsers(1))).protocols(httpProtocol)

CustomInboxRunner.startInboxRunner(...) 是一个启动新线程的Java方法 .