В большинстве случаев отправитель не нужен. Zero также поддерживает другую версию выборки для прямой передачи данных в Event Bus.
В этой версии запрос будет проходить на основе интерфейса и напрямую передавать данные рабочему. Обратите внимание, что этот класс является интерфейсом, а не классом.
import io.vertx.core.json.JsonObject;
import io.vertx.up.annotations.Address;
import io.vertx.up.annotations.EndPoint;
import jakarta.ws.rs.BodyParam;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
@EndPoint
@Path("/cronus")
public interface SpeakAddrApi {
@Path("/direct")
@POST
@Address("ZUES://DIRECT")
JsonObject speak(@BodyParam JsonObject data);
}
import io.vertx.core.eventbus.Message;
import io.vertx.core.json.JsonObject;
import io.vertx.up.annotations.Address;
import io.vertx.up.annotations.Queue;
import io.vertx.up.commune.Envelop;
@Queue
public class SpeakAddrWorker {
@Address("ZUES://DIRECT")
public void direct(final Message<Envelop> data) {
final JsonObject replied = (data.body().data(0, JsonObject.class));
data.reply(Envelop.success(replied));
}
}
Эта версия пропускает логический агент без кода и напрямую передаёт данные рабочему.
Обратите внимание на метод данных Envelop в приведённом выше коде:
public <T> T data(final Integer argIndex, final Class<T> clazz)
Фактически сообщение будет передавать параметры из определения интерфейса по индексу как ключ JsonObject для извлечения данных из EventBus. Здесь можно применить все типы правил, вы также можете использовать тип POJO в качестве второго аргумента.
@Codex
.Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )