如何使用Quarkus在Elasticsearch进行响应式


本篇内容主要讲解“如何使用Quarkus在Elasticsearch进行响应式”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何使用Quarkus在Elasticsearch进行响应式”吧!如您所见,Quarkus 中存在一个elasticsearch-rest-client;然而,这是一个 Elasticsearch Java 低级 REST 客户端。如果我们想使用 Elasticsearch Java High Level REST Client,我们只需要将它作为依赖添加到pom.xml文件中:请确保 Elasticsearch Java Low Level REST Client 的版本与 ElasticsearchJava High Level REST Client匹配。由于我们以响应式方式使用 Elasticsearch,因此我更喜欢使用Project Reactor。我们必须在依赖管理部分添加 BOM:我们还必须添加 reactor-core 作为依赖项:
我已经在一个库中分离了公共代码,所以我们应该将这个库添加到我们的示例项目中。为此,我们将使用Jitpack。这是一项很棒的服务。你只需要为你的
Github 项目指出正确的方法,它就会为它构建一个工件。这是我使用它的方式:
此外,我们应该启动 Elastisearch。最简单的方法是通过 Docker 运行它:让我们从将我们的服务连接到 Elasticsearch 开始——示例项目中的实现很简单——因此它将侦听 Quarkus 启动和关闭事件并初始化或终止连接:连接到 Elasticsearch 的实际工作是在AbstractElasticsearchService 中完成的:
如您所见,此处的连接是按照Elasticsearch 文档 中建议的方式完成的。我的实现取决于两个配置属性:属性文件:这是从 Docker 启动后的 Elasticsearch 连接字符串。第二个可选属性是:属性文件这是客户端所需的线程数。现在,让我们创建域对象(Fruit):让我们创建FruitDaoImpl。它是一个高级类,用于填充AbstractElasticsearchReactiveDaoImplementation并实现所需的业务逻辑。这里的另一个重要部分是为 Fruit 类创建索引:对 Elasticsearch 的真正创建索引调用是在父类 (AbstractElasticsearchReactiveDaoImplementation)
中实现的:
大多数 CRUD免费云主机域名 操作在AbstractElasticsearchReactiveDaoImplementation中实现。它有 save、 update、findById和deleteById公共方法。它也有findByExactMatch和findByMatch保护方法。FindBy*当需要填充业务逻辑时,这些方法在后代类中非常有用。业务查找方法在FruitDaoImpl类中实现:FruitDaoImpl封装在FruitService 中:该FruitServiceTests写入,以测试基本功能。它还用于确保 Fruit 类字段被正确索引并且全文搜索按预期工作:因为这是一个示例项目,完整的 CRUD 功能不会作为 REST 端点添加。只有save和findById被添加为 REST 端点。它们被添加到FruitResource 中。那里的方法返回CompletionStage,这确保我们的应用程序中不会有阻塞的线程。添加FruitResourceTest以测试 RESTendpoints:在构建本机可执行文件之前,我们必须注册我们的Fruit域对象。这样做的原因是我们的FruitResource返回CompletionStage,因此,应用程序的实际返回类型是未知的,因此我们必须显式注册它以进行反射。在 Quarkus 中至少有两种方法可以做到这一点:通过@RegisterForReflection注释。通过反射-config.json。我个人更喜欢第二种方法,因为您要注册的类可能在第三方库中,并且不可能将@RegisterForReflection 放在那里。现在,reflection-config.json看起来像这样:下一步是让 Quarkus 知道reflection-config.json文件。您应该将此行添加到pom.xml文件中的native配置文件中:
您现在可以构建您的本机应用程序:
并启动它:
该服务将在http://localhost:11025上可用,因为这是application.properties 中明确指定的端口。
该FruitResourceTest预计以下可选属性:属性文件:如果存在,测试请求将命中指定的主机。如果您启动本机可执行文件:shell:并使用以下代码执行测试/构建:shell:测试将针对本机构建运行。到此,相信大家对“如何使用Quarkus在Elasticsearch进行响应式”有了更深的了解,不妨来实际操作一番吧!这里是百云主机网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

相关推荐: DW软件如何新建一个html网页

这篇文章主要为大家展示了“DW软件如何新建一个html网页”,内容简而易懂,条理免费云主机域名清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“DW软件如何新建一个html网页”这篇文章吧。 使用Dreamweaver(简称DW)软件新建一…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

Like (0)
Donate 微信扫一扫 微信扫一扫
Previous 09/10 16:04
Next 09/10 16:04

相关推荐