Вызов RPC service в Java
Вызов RPC service в Java: вызов RPC service
В Java нет функции suspend, поэтому каждый метод в интерфейсе сервиса должен возвращать Future, а не T.
import io.vertx.core.Future;
import static codes.unwritten.vertx.kotlin.rpc.ServiceProxyFactory.getAsyncServiceProxy;
// ...
interface AsyncHelloSvc {
Future<String> hello(String world);
}
AsyncHelloSvc svc = getAsyncServiceProxy(vertx, "test-channel", "hello", AsyncHelloSvc.class);
svc.hello("world").setHandler(ar -> {
if (ar.succeeded()) {
assertEquals("Hello, world!", ar.result());
} else {
// Обработка ошибок
}
});
Создание HTTP RPC service в Java
(пропущено)
Вызов HTTP RPC service в Java
В Java нет функции suspend, поэтому каждый метод в интерфейсе сервиса должен возвращать Future, а не T.
import io.vertx.core.Future;
import static codes.unwritten.vertx.kotlin.rpc.AsyncServiceProxyFactory.getAsyncHttpServiceProxy;
// ...
interface AsyncHelloSvc {
Future<String> hello(String world);
}
AsyncHelloSvc svc = getAsyncHttpServiceProxy(vertx, "http://127.0.0.1:8080/some-path", "hello", AsyncHelloSvc.class);
svc.hello("world").setHandler(ar -> {
if (ar.succeeded()) {
assertEquals("Hello, world!", ar.result());
} else {
// Обработка ошибок
}
});
— JSON RPC использует Jackson для сериализации и десериализации. — Все остальные параметры и возвращаемые значения сериализуются и десериализуются с помощью Kryo. Подробнее см. в документации. — Java Reflection API не может получить имена параметров метода, а это необходимо для JSON RPC, поэтому JSON RPC пока не поддерживает Java. Если у вас есть идеи, пожалуйста, сообщите мне.
— Поддержка перегрузки методов. — Отслеживание вызовов RPC. — Поддержка параметров пути в JSON RPC.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )