2012-03-06 55 views
1

我試圖實現連接發送者和接收者的文件傳輸邏輯,發送者和接收者之間的握手。基本的高級別工作流程我想象的是...什麼是連接發送者和接收者的好設計模式?

Sender : prep for transfer, create token, wait for receiver to connect 

Receiver : access download URL using token, wait for sender to start sending 

Sender : confirm Receiver has connected/is waiting, send 

Receiver : receive 

* :只能有一個接收到發送者,也就是隻有1個接收器可以「下載」文件發件人發送

我使用Jetty Continuations長輪詢服務器,使處理異步事件容易,但我不知道如何處理設計方面。上述工作流程的優秀設計模式是什麼?發送者和接收者之間的握手 * * *

回答

2

我的goto策略是對這類問題使用JMS隊列。有很多種實現方式可供選擇。您可能會特別尋找「帶外」文件傳輸,這實質上就是您所描述的:從服務器傳輸指向客戶端要下載的文件的令牌(消息)。此外,這符合您的1接收器下載要求。 JMS隊列可以配置爲僅允許通過事務鎖定爲每個消息分配一個客戶端。

不知道這是否真的回答你的問題,但它可能是一個開始的地方。

編輯:

如果您是全新到JMS,一個良好的開端將與ActiveMQ的亂搞:

Homepage link

Doc referencing out of band file transfer 你可能會想實施你自己的「BlobMessage」或者只是使用常規的消息並處理通過它的url。

Oracle JMS 1.1 Tutorial

有很多可用的JMS資源,因爲它是這樣一個老的標準。

希望這會有所幫助!

+0

該文件的實際發送已經實施並起作用。我更感興趣的是發送者/接收者之間的握手 – Hristo 2012-03-06 20:51:21

+0

試着再次消化你的問題,你問下載給定文件後要使用什麼策略? – 2012-03-06 20:58:13

+0

nope ...我試圖弄清楚如何設計發件人和收件人之間的握手*轉移開始前 – Hristo 2012-03-06 21:02:10

相關問題