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 部署相同的功能。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.