[英]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.