2012-01-30 27 views
0

可以在我正在創建的實用程序類中使用javax.xml.ws.Service的靜態成員實例或端點代理的句柄嗎?將服務或端點代理作爲靜態成員實例可以嗎?

我要求確保不會有任何連接超時問題,或者如果我這樣做(因爲我在黑暗中還有什麼會涉及幕後)。

這裏的服務的一個例子,我將有:

public class MyWebService extends Service 
{ 
    public ProxyObject getPort() { return super.getPort(qname, interface); } 
} 

,我想如何使用它,只要有什麼不對這種想法是:

public class MyServiceApi { 

    private final static ProxyObject serviceProxy = new MyWebService().getPort(); 

    public static void doSomething() { 
    serviceProxy.doSomething("Hello World!"); 
    } 
} 

是否有我應該知道的任何潛在的缺點,如長時間運行的連接或什麼?

感謝您的幫助?

回答

1

您遇到的最大問題是線程問題。在這個例子中,你沒有訪問任何變量,所以你不會遇到任何問題,但是一般來說,靜態的東西和網絡的東西不能很好地結合在一起。

+1

聽起來像你會建議保持它在課堂上,但刪除'靜態'修飾符。現在我正在考慮這件事,這似乎更明智。 – Cuga 2012-01-30 19:05:43

+0

是的。一般來說,_never_使用'static'來處理類似web的任何事情,因爲web一次是做很多事情(又名線程) – cdeszaq 2012-01-30 19:07:57

+0

會做。非常感謝! – Cuga 2012-01-30 19:30:39

相關問題