我正在从事一个Java/vertx项目,其后端是MongoDB(从一段时间以来,我一直使用Elixir/Erlang,我对vertx很陌生,但我认为它最适合)。基本上,我有一个由一些HttpServerVerticles处理的http API,它们需要将数据存储到mongo db(或从中检索数据),并向API调用方发送适当的回复。我正在寻找正确的模式来实现查询和处理回复。
从官方指南和一些教程中,我看到对于关系JDBC数据库,有必要定义一个专用的垂直点来异步处理查询。这是我第一次尝试使用mongo客户端,但它引入了很多样板。
另一方面,从mongo客户端留档中,我读到它是完全非阻塞的,并且它有自己的连接池。这是否意味着我们可以安全地(从vertx事件循环的角度),直接在超文本传输协议垂直中定义和使用mongo客户端?
是否有其他模式?
版本:vertx:3.5.4/mongoDB:4.0.3
在我们的客户端,我们使用mongob-drive-rx
。Vertx支持RX(vertx-rx-java
),它非常适合mongob-drive-rx
。
有关更多信息,请参阅:https://mongodb.github.io/mongo-java-driver-rx/https://vertx.io/docs/vertx-rx/java/https://github.com/vert-x3/vertx-examples/blob/master/rxjava-2-examples/src/main/java/io/vertx/example/reactivex/database/mongo/Client.java
这是这样的:mongo连接池在本质上与SQL db池同步和阻塞非常相似,但它是用非阻塞vert包装的。到处都是API。
所以,不是一种正常的阻塞方式
JsonObject obj = mongo.get( someQuery )
您有一个现成的非阻塞调用:
mongo.findOne( 'collectionName', someQuery ){ AsyncResult<JsonObject> res ->
JsonObject obj = res.result()
doStuff( obj )
}
这意味着,您可以安全地在任何类型的垂直中直接在事件循环上使用它,而无需反复重复创建异步轮子。
我正在尝试使用MongoDB指南针使用Atlas
当我尝试连接https url时...我得到ssl握手失败...我使用vertx-version 但是在使用vertx的时候。这是握手的问题
我每天都在连接mongo db,它工作得很好,但今天它困扰着我下面的错误,任何人都可以帮我请。 连接到:测试2017-01-10T14:26:13.073 0530警告:连接到127.0.0.1:27017失败,原因:错误号:111连接被拒绝2017-01-10T14:26:13-074 0530错误:无法连接到服务器127.0-0.1:27017(127.0.0.1),在src/mongo/sh
我正在做一个NodeJS项目,似乎使用了非常常见的AWS设置。我的ApiGateway接收调用,触发lambda A,然后这个lambda根据从ApiGate传递的参数触发其他lambda,比如B或C。 Lambda A需要访问MongoDB,为了避免自己运行MongoDB时遇到麻烦,我决定使用mLab。ATM Lambda A正在使用NodeJS驱动程序访问MongoDB。现在,为了不在每次执行
您似乎试图通过本机驱动程序端口上的HTTP访问MongoDB。 而且日志显示我的mongodb是健康的。我想是我试图通过浏览器访问的最后一行。 2017-01-25T21:11:13.509+0000 I JOURNAL[initandlisten]JOURNAL dir=/data/db/Journal2017-01-25T21:11:13.509+0000 I JOURNAL[initandl
下面是/etc/kafka/connect-MongoDB-source.properties中的MongoDB配置 但是低于误差 以独立模式运行连接器。 我在debezium-debezium-连接器-mongob-1.0.0/debezium-connector-mongodb-1.0.0.Final.jar 类路径的设置如下 使用插件路径,我看到它能够注册和加载所有必需的插件。 但最后还是同