我們有一個應用服務器,它公開了大量的web服務。我們在使用JSF應用程序中的這些Web服務來提供用戶界面的同時運行一個tomcat。假設我們有一個bean,它有一個方法「getWebservice()」,它返回jaxws用來和webservice通信的代理類。這使我們能夠用最小的努力web服務交互:使用wsimport的生成,然後用#{} myBean.webservice.myProperty等JSF中的JAXWS緩存
但是你可以看到重用公開的方法時,這將需要Web服務交互的很多 。在我們的用例中,大多數方法都是靜態的,至少在@RequestScoped bean期間是這樣的,所以大多數方法的交互應該被調用(至少對於一個請求)。
目前我們的設置是在bean創建包裝服務,每個包裝不完全一樣的東西:
if (methodResponse == null)
methodResponse = getWebservice().getMethod();
return methodResponse;
你可以看到,這會非常無聊非常快。有沒有一種方法來註釋緩存的jaxws方法?或者我可以根據接口生成自己的代理類,並以某種方式將它「鏈接」到jaxws使用的代理(並執行泛型緩存),或者我可以創建自己的執行緩存的註釋嗎?
我還沒有時間根據教程實際創建一個代理,但我已經掃描了這篇文章,它似乎正是我所需要的。謝謝! – nablex