2011-05-13 100 views

回答

4

CXF必須做一些這方面的開箱一些能力。 CXF端點可以在調用程序上配置一個工廠,用於獲取調用的對象。開箱即用,有一個PooledFactory可以維護一個實例池。它可以設置爲而不是創建超出max的額外實例,從而等待更多的實例被釋放。這可以扼殺一些事情。您可以通過Spring配置或通過在IMPL註釋配置此:

@FactoryType(value=FactoryType.Type.POOLED, args={"25"}) 

(25池的最大尺寸)

但是,這是在處理非常晚。當它到達那裏時,所有的XML都被解析,創建了jaxb對象等等。對於DOS,你可能會想早點停下來。您可以實現一個攔截器,該攔截器可以在鏈中保持存儲在端點上的計數。增加和檢查傳入鏈,在傳出鏈上減少。