Есть два локальных сервера (BD server, Auth Server). Общение между ними реализовано с помощью netty 4.1.4 на приме/отправке объектов. Столкнулся с трудностями объединить в одном вызове функции отправку и возвращение данных. К примеру: 1) Клиент хочет авторизоваться. 2) Вызывается функция проверки на сервере авторизации.
boolean tryAuth(String acc_name, String pass) {
final Account account = CheckNonNull(acc_name, pass);
return account != null;
}
3) В свою очередь функция CheckNonNull(par1, par2) отправляет данные DB серверу и возвращает полученный результат.
Собственно, вопрос - есть ли апи расширяющее функционал нетти для подобной реализации, или как это можно реализовать? (протобаф не предлагать, уже проходили) P.S. обертка Observable в стрим, тоже не подходит
Было найдено решение с создания класса обертки над io.netty.util.concurrent.Future<T>
public <T> ResponseFuture Response(final T msg) {
final ResponseFuture<T> responseFuture = new ResponseFuture<>();
f.addListener((GenericFutureListener<ChannelFuture>) future -> {
f.channel().pipeline().get(DBServerHandler.class).setResponseFuture(responseFuture);
f.channel().pipeline().get(DBServerHandler.class).WriteInfo(msg);
});
return responseFuture;
}
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости