2013-04-12 1 views
0

Как отправлять вызовы POST/PUT/DELETE в источник отдыха с использованием Atmosphere 1.1.0+ в обычном режиме RPC? (Вы догадываетесь, я хочу использовать стиль pub/sub и RPC в моем проекте)Как вызвать обычный вызов REST-RPC с картой Атмосфера?

serverside: зарегистрировать @Path (например,/member), отметить @ POST/@ PUT/@ DELETE, обработать метод body и return значение. Кажется прямо. Даже с JSON-декодированием.

clientside: Как вы могли бы отправить запрос POST с помощью библиотеки isync? Все примеры атмосферы используют «GET» и рекомендуется использовать только GET. Почему это?

RequestBuilder request = client.newRequestBuilder().method(Request.METHOD.GET).uri("/member") 

Можно ли ожидать ответа синхронного сервера при вызове метода огня? например

Future future = socket.fire(myMemberObject) 

Спасибо за советы и замечания по этому подходу (также thoights на спаривание RPC и PubSub приветствуются).

ответ

1

Salut,

wAsync использует POST после того, как соединение установлено. wAsync является асинхронным по своей природе, поэтому вам нужно использовать Latch, если вы хотите заблокировать его или использовать AsyncHttpClient с Future.

Помогло ли это?

- jeanfrancois

+0

Спасибо. Я проверил ваш пример. Имеет смысл. Тем не менее, некоторые реализации не ясны для меня. Если wAsync вызывает (open socket, invoke fire method) метод REST-resource, как сервер Atmosphere-Jersey возвращает немедленный (но асинхронный) ответ? Он использует статут возврата, не так ли? Разве соединение веб-соединения прекращено после этого ответа? Если нет, почему бы и нет? Если да, как вы можете общаться с клиентом wAsync? Перейдя к следующему вопросу: как вы отправляете сообщения с сервера на ранее подписанные клиенты (ресурсы Atmosphere-REST с помощью @Subscribe)? – feder

+0

Я понял ваш пример чата, когда клиенты отправляют сообщение в REST-ресурс @ Subscribe-annotated, и это сообщение немедленно возвращается всем другим клиентам, которые ранее подписались. Ну, но как сервер отправляет одно из этих сообщений подписчикам? Как я могу повторно отправлять сообщения этим подписчикам? Что я пропустил в этой реализации PubSub Atmosphere-Jersey? Я ценю ваши комментарии и рекомендации о том, как использовать Atmosphere и wAsync в стиле (async) REST. – feder

+0

Последний вопрос: увольнение сообщения в сокете в REST-ресурс Atmosphere с использованием wASync, что я могу ожидать в возвращаемом объекте Future? ничего, поскольку это асинхронно, как вы упомянули в своем ответе? извините, также непонятно мне. – feder