1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/silentbalanceyh-vertx-zero

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
zero-mongo.md 2 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 30.11.2024 04:28 85b9559

Включить mongo-db

1. Конфигурация

В вашем classpath:

vertx.yml

zero:
  lime: mongo
  vertx:
    instance:
    - name: vx-zero
      options:
        maxEventLoopExecuteTime: 30000000000

vertx-mongo.yml

mongo: # Ключ должен быть mongo, не может быть заменён.
    db_name: vertx_zero_up
    port: 27017
    host: 127.0.0.1

Здесь игнорируется код отправителя, mongo db поддерживается только в классе потребителя стандартным способом. Также часть lime является случайной, например: После того как вы установите код следующим образом:

    lime: mongo-db

Вы должны установить имя файла up.god.file в пути к ресурсам как vertx-mongo-db.yml, после чего вы сможете настроить конфигурацию mongo db в этом файле.

vertx-inject.yml

mongo: io.vertx.mod.plugin.mongo.MongoInfix

2. Код потребителя

import io.vertx.core.eventbus.Message;
import io.vertx.core.json.JsonObject;
import io.vertx.ext.mongo.MongoClient;
import io.vertx.up.annotations.Address;
import io.vertx.up.annotations.Queue;
import jakarta.inject.infix.Mongo;
import io.vertx.up.commune.Envelop;
import io.vertx.up.util.Jackson;

@Queue
public class UserWorker {

    @Mongo
    private transient MongoClient client;

    @Address("ZERO://ROLE")
    public void async(final Message<Envelop> message) {
        final User user = Envelop.data(message, User.class);
        final JsonObject userData = new JsonObject(Jackson.serialize(user));
        this.client.save("DB_USER", userData, res -> {
            if (res.succeeded()) {
                message.reply(Envelop.success("Hello World"));
            } else {
                res.cause().printStackTrace();
            }
        });
    }
}

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/silentbalanceyh-vertx-zero.git
git@api.gitlife.ru:oschina-mirror/silentbalanceyh-vertx-zero.git
oschina-mirror
silentbalanceyh-vertx-zero
silentbalanceyh-vertx-zero
master