2013-04-12 42 views
0

如何以常規RPC方式使用Atmosphere 1.1.0+將POST/PUT/DELETE調用發送到休息源? (你都在猜測的權利,我想使用我的項目的pub/sub和RPC樣式)如何使用Atmosphere框架調用傳統的REST-RPC調用?

服務器端:註冊一個@路徑(例如/件),標記爲@ POST/@ PUT/DELETE @,處理方法正文和return的值。似乎挺直。即使使用JSON編碼/解碼。

clientside:你將如何使用異步庫啓動POST請求?所有的大氣示例都使用「GET」,並建議僅使用GET。這是爲什麼?

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

當調用fire方法時,可以期望這個同步服務器響應嗎?例如

Future future = socket.fire(myMemberObject) 

感謝您對此方法的提示和評論(也歡迎配對RPC和PubSub的歡迎聲明)。

回答

1

Salut,

wAsync在連接建立後使用POST。 wAsync本質上是異步的,所以你需要使用Latch,如果你想阻塞,或者使用AsyncHttpClient和Future。

這有幫助嗎?

- jeanfrancois

+0

謝謝。我檢查了你的例子。說得通。儘管如此,有些實現並不清楚。如果wAsync調用(打開套接字,調用fire方法)REST資源方法,Atmosphere-Jersey服務器如何返回即時(但異步)響應?它使用返回語句,不是嗎? websocket連接在此響應之後終止?如果不是,爲什麼不呢?如果是的話,你還能如何與wAsync客戶端通信?引導我回到下一個問題:您如何將消息從服​​務器發送到先前訂閱的客戶端(具有@Subscribe的Atmosphere-REST資源)? – feder

+0

我的確瞭解了您的聊天示例,其中客戶端將消息發送到@ Subscribe-annotated REST-resource,並立即將此消息返回給先前訂閱的所有其他客戶端。那麼,但服務器如何將這些消息之一發送給訂閱用戶?我如何重複發送消息給這些用戶?在這個PubSub的Atmosphere-Jersey實現中我錯過了什麼?感謝您對如何在(異步)REST風格中使用Atmosphere和wAsync的意見和建議。 – feder

+0

最後一個問題:使用wASync將套接字上的消息發送到Atmosphere REST資源,我可以在返回對象Future中期望什麼?沒有,因爲它是異步的,正如你在答案中提到的那樣?對不起,我也不清楚。 – feder