我已經寫了一個使用spring,cxf和jax ws實現的web服務,並且我有一個關於WS的基本問題。 Web Service端點如何處理併發請求?它是否爲類似於servlet的每個請求創建了一個新線程,或者它是否爲單線程模型?由於我們預計每個Web服務的體積都很大,對於將WSDL簡化爲多個WSDL以具有不同的端點,是否有任何區別?通過jax ws實現的web服務是多線程
3
A
回答
1
從客戶和服務的角度來看,沒有「多線程」這樣的東西。你的客戶調用一個請求,並得到一個響應(可能是一個錯誤響應)。您的服務器收到一個請求,併爲該請求提供服務。期。
如何調度請求是一個實現細節。
而WSDL只是一個「契約」。該服務「發佈」它支持的操作以及它與WSDL一起使用的數據類型;客戶端打包並解包他的請求並相應地響應SOAP消息。但是WSDL在任何給定的Web服務調用中都沒有直接的作用。
3
Web服務當然是由Web服務器(例如Glassfish)託管的,它在接收多個同時請求時是多線程的。
0
它的後期,但可能會有所幫助。
Endpoint.publish(Url,ServiceImplObj)在給定的URL處發佈web服務。沒有。分配給請求處理的線程真正處於jvm的控制之下,因爲這是由jvm本身處理的輕量級部署。
爲了更好的闡明,您可以在服務端打印當前線程名稱,您可以看到服務線程正在由jvm管理的線程池中分配。
[pool-1-thread-1]: Response[57]:
[pool-1-thread-5]: Response[58]:
[pool-1-thread-4]: Response[59]:
[pool-1-thread-3]: Response[60]:
[pool-1-thread-6]: Response[61]:
[pool-1-thread-6]: Response[62]:
這個我試過jdk 1.6.0_35。
XJC -version XJC版 「JAXB 2.1.10在JDK 6」 的JavaTM架構XML綁定(JAXB)參考實現(在JDK 6建造JAXB 2.1.10)
相關問題
- 1. Jax-ws多個web服務
- 2. JAX-WS Web服務和環境實體
- 3. iOS中的JAX-WS服務實現
- 4. 消費JAX-WS Web服務
- 5. WSDL在JAX-WS Web服務
- 6. 打包JAX-WS web服務
- 7. 如何根據JAX-WS規範發現Web服務實現類?
- 8. 註冊JAX-WS Web服務程序
- 9. Java:實現多線程Web服務器
- 10. 從JAX-WS 2.0實現中使用Eclipse(Helios)生成Web服務
- 11. JAX-WS通過HTTPS/SSL/TLS的SOAP Web服務客戶端
- 12. Tomcat 8上的JAX-WS Web服務 - JAX-WS庫文件位置?
- 13. JAX-WS web服務線程安全和性能問題
- 14. org.hibernate.LazyInitializationException - 在通過Web服務訪問模型時(Jax-ws)
- 15. 如何通過JAX-WS web服務傳遞集合<?>
- 16. 通過JAX WS服務的Jpa實體無死循環
- 17. 如何在JAX-RS和JAX-WS Web服務實現之間進行選擇?
- 18. Web服務與JAX-WS的SUN庫7.0
- 19. 使用SSL的JAX-WS Web服務
- 20. JAX-WS與Web服務的Restlet框架
- 21. jQuery的消耗JSON JAX-WS Web服務
- 22. 的Java Web服務JAX WS工具
- 23. 如何知道Web服務是否爲JAX WS或JAX RPC
- 24. 使用Axis2或Java Web服務(JAX-WS)的Web服務
- 25. JAX-WS:來自另一個web服務的web服務調用
- 26. JAX WS服務wsdlLocation
- 27. Jax-WS連接到任何Web服務
- 28. 單元測試JAX-WS Web服務?
- 29. 訪問安全JAX-WS Web服務EJB
- 30. JAX-WS動態web服務網址
謝謝爲答覆。您提到該服務器接收方請求並返回響應。終點在服務響應中扮演什麼角色?它如何處理併發請求。 – Mr9 2012-03-10 06:11:38
Web服務端點的情況與JSP servlet ...或任何其他Web請求/響應完全相同。從您的服務角度來看,您不知道或關心偵聽器是否將您的請求分派給新線程,新進程或全新的JVM。或者如果它阻止。從你的角度來看,沒有「多線程」。但是,從*服務器*的角度來看,它可能會創建一個新線程。不同服務器的具體情況會有所不同(例如Tomcat vs JBoss vs WebSphere vs WebLogic--它們都可能以不同的方式實現其調度程序)。 – paulsm4 2012-03-10 17:22:44
@ paulsm4我希望你能分享一個參考鏈接來支持你在這裏分享的信息。 .i一直在尋找能夠顯示Web服務生命週期的東西(例如,您可以在Oracle JEE5教程中輕鬆找到無狀態會話bean生命週期),但找不到任何... – 2012-07-14 18:19:41