Verticle的多个实例:Context是共享的还是总是分开的?

时间:2018-04-10 06:58:13

标签: vert.x

我计划使用一个使用Context对象存储中间结果的Verticle。基本上它执行以下操作:

  1. 等待来电请求R.

  2. 如果请求R进入,则将子请求发送到其他一些Verticle V1-VN

  3. 等待V1..VN
  4. 的结果
  5. 如果来自V1..VN的回复进入,则使用唯一键和这些结果的可修改列表处理并将此回复的结果存储在Context对象中。
  6. 如果所有回复都在,请回复来自V1..VN的所有子回复的请求R.
  7. 现在,如果我在多个实例中运行此(标准)Verticle(DeploymentOptions.setInstances(4),那么Verticle是否共享一个Context或者每个都有自己的Context?

1 个答案:

答案 0 :(得分:1)

不,每个Verticle都有自己的上下文。

https://github.com/eclipse/vert.x/blob/6a01366c8b86f4d4431d9e97d775c45628dcd0ce/src/test/java/io/vertx/test/core/ContextTest.java#L91

要在Verticle之间共享数据,请使用vertx.sharedData()