簡體   English   中英

在Web服務之間共享數據的最佳方法

[英]Best way to share data among webservices

在當前情況下,我有兩個Web服務,在此進行描述:

<jaxws:endpoint  id="backendService"
        implementor="com.foo.soap.BackendServiceImpl"
        address="/BackendService" />

<jaxws:endpoint  id="frontendService"
        implementor="com.foo.soap.FrontendServiceImpl"
        address="/FrontendService" />

Backendservice偵聽某些后台應用程序以通知進度,而frontendservice允許前台應用程序知道數據是否准備就緒。 因此,簡單地說:

public Interface Backendservice{
        public void done(Long reqID); //sets backendservice status to true for that request ID
}

public Interface FrontendService{
    public boolean isDone(Long reqID); //returns true if that request was completed
}

在兩個Web服務之間交換布爾值的最佳方法是什么? 我考慮過一個Singleton類,因此有這樣的事情:

public void done(Long reqID){
     Singleton.getInstance().setStatus(reqID, true);
}
public boolean isDone(Long reqID){
          return Singleton.getInstance().getStatus(reqID);
}

但這是最好的方法嗎? 還是spring / cxf提供了更好的方法?

您可能有一個基礎數據庫,其中包含您的reqID及其當前狀態。

使用單例很可能意味着您將把東西存儲在內存中,這可能不會使應用程序擴展太多。 一旦應用程序關閉和/或必須實施持久性機制,您還將丟失所有內容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM