public void execute(CommandSender sender, String[] args) {
if (sender instanceof ProxiedPlayer) {
ProxiedPlayer p = (ProxiedPlayer) sender;
//Отправил запрос другому серверу.
//Получил ответ и вывожу его.
System.out.println("Закончил работу.");
}
}
Имеется вот такой код. Цель: получить ответ и вывести на экран. Проблема в том что на отправку и получение запроса требуется некоторое время. Как я могу отправить запрос на сервер при это не останавливая этот поток на время? + еще проблема в том что ответ приходит совсем в другом классе.
Что бы связать классы, которые не имеют прямой связи, можно воспользоваться Publish–subscribe pattern, например реализацию greenrobot EventBus. Это нечто интуитивно похожее на обсервабл. Вы где-то общаетесь с сервером, когда получаете ответ кидаете событие
eventBus.post(new ServerAnswer("HelloWorld!");
А в произвольном месте у вас подписчик получает это событие
@Subscruber
public void onServerAnser(ServerAnswer serverAnswer) {}
Инструкция:
http://greenrobot.org/eventbus/documentation/how-to-get-started/
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости