4.4. verticles 中的更改
本节介绍 verticles 中的更改。
4.4.1. create verticle 方法中的更新
在较早版本的 Eclipse Vert.x 中,VerleFactory.createVerticle ()
方法异步实例化verticle。从 Eclipse Vert.x 4 onward 中,该方法异步实例化verticle,并返回回调 callable<Verticle
> 而不是单个验证实例。这种改进使应用调用此方法一次,并多次调用可返回调用,以创建多个实例。
以下代码演示了如何使用 Eclipse Vert.x 3.x 版本实例化。
Verticle createVerticle(String verticleName, ClassLoader classLoader) throws Exception;
以下代码演示了如何使用 Eclipse Vert.x 4 进行实例化。
void createVerticle(String verticleName, ClassLoader classLoader, Promise<Callable<Verticle>> promise);
4.4.2. factory 类和方法的更新
VerticleFactory
类已被简化。类不需要对标识符进行初始解析,因为工厂可以使用嵌套部署来部署verticle。
如果您的现有应用程序使用工厂,在 Eclipse Vert.x 4 中,您可以更新代码,以便在承诺完成或失败时使用可调用的。可调用的可能是多次。
以下示例显示了 Eclipse Vert.x 3.x 应用程序中的现有因素。
return new MyVerticle();
以下示例演示了如何更新现有工厂以在 Eclipse Vert.x 4 中使用承诺。
promise.complete(() -> new MyVerticle());
如果您希望 factory 阻塞代码,请使用 Vertx.executeBlocking ()
方法。当工厂收到块代码时,它应该可以解决承诺并从承诺获取白色实例。
4.4.3. 删除了多线程 worker verticles
删除了多线程 worker verticle 部署选项。这个功能只能与 Eclipse Vert.x event-bus 一起使用。HTTP 等其他 Eclipse Vert.x 组件不支持该功能。
使用 unordered Vertx.executeBlocking ()
方法实现与多线程 worker 部署相同的功能。