[英]How to implement one-way operation in Java Web Services?
如何在 Web 服務中實現單向操作(使用 Java 或 Spring 注釋)?
我試圖添加如下所示的一種方式
@WebService
public interface DanduServices {
@Oneway
public void saveDanduInformation(@WebParam(name = "serv") ServDTO Serv, @WebParam(name = "dandu") DanduDTO danduDto);
但它仍然是請求-響應而不是異步或一種方式。
任何人都可以建議在服務端點中進行單向操作,並讓其他操作按照請求-響應進行操作嗎?
不過,您也需要考慮協議。 在 HTTP 中,當您發送請求時,您會等待響應,如果一段時間后沒有響應返回,您將收到超時錯誤。 因此,當您談論單向(您應該說可能是異步請求)時,您確實需要准確說明您的意思。 您是否想確認您的消息已收到,即讓服務器以 OK 狀態代碼回復並關閉並完成它的任務,但您不等待任務完成? 然后你需要產生另一個線程。 Spring 對此具有 AOP,就像使用@Transactional
進行事務處理一樣。 相反,您使用@Async
注釋您的方法並返回Future<Something>
。 您還需要在配置中使用@EnableAsync
。 請參閱本文以獲取示例Hot To Do @Async
如果您甚至不關心服務器是否收到您的請求,您就不想使用 TCP/HTTP 而是使用 UDP,例如 VOIP(互聯網電話)中使用的 UDP 速度更快,但這將取決於您的客戶端.
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.