Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Multithreading 通过jax-ws实现的web服务是多线程的吗_Multithreading_Web Services_Jax Ws_Cxf - Fatal编程技术网

Multithreading 通过jax-ws实现的web服务是多线程的吗

Multithreading 通过jax-ws实现的web服务是多线程的吗,multithreading,web-services,jax-ws,cxf,Multithreading,Web Services,Jax Ws,Cxf,我已经使用spring、cxf和jax ws实现编写了一个web服务,我有一个关于ws的基本问题。Web服务端点如何处理并发请求?它是为每一个请求创建一个新线程,类似于servlet还是单线程模型?由于我们期望每个web服务都有巨大的容量,因此将WSDL滑动到多个WSDL以获得不同的端点会有什么不同吗?从客户机和服务的角度来看,没有“多线程”这样的事情。您的客户端调用一个请求,并获得一个响应(可能是错误响应)。您的服务器收到一个请求,并为该请求提供服务。句号 如何调度请求是一个实现细节 WSDL

我已经使用spring、cxf和jax ws实现编写了一个web服务,我有一个关于ws的基本问题。Web服务端点如何处理并发请求?它是为每一个请求创建一个新线程,类似于servlet还是单线程模型?由于我们期望每个web服务都有巨大的容量,因此将WSDL滑动到多个WSDL以获得不同的端点会有什么不同吗?

从客户机和服务的角度来看,没有“多线程”这样的事情。您的客户端调用一个请求,并获得一个响应(可能是错误响应)。您的服务器收到一个请求,并为该请求提供服务。句号

如何调度请求是一个实现细节


WSDL只是一个“契约”。服务“发布”它支持的操作以及它使用WSDL的数据类型;客户机相应地打包和解包其请求和响应SOAP消息。但是WSDL在任何给定的web服务调用中都不起直接作用。

当然,web服务由web服务器(例如Glassfish)托管,当接收多个同时请求时,该服务器是多线程的。

虽然很晚,但可能会有所帮助

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]:
这是我在JDK1.6.035上尝试的

xjc-版本 xjc版本“JDK 6中的JAXB 2.1.10” JavaTM XML绑定体系结构(JAXB)参考实现(构建JAXB JDK 6中的2.1.10)


谢谢你的回复。您提到了服务器接收器请求并返回响应。端点在服务响应方面扮演什么角色。它如何处理并发请求。web服务端点的情况与JSP servlet的情况完全相同。。。或任何其他web请求/响应。从服务的角度来看,您不知道或不关心侦听器是否将您的请求发送到新线程、新进程或全新的JVM。或者如果它只是阻塞。从您的角度来看,没有“多线程”。然而,从服务器的角度来看:是的,它可能会创建一个新线程。具体细节因服务器而异(例如,Tomcat vs JBoss vs WebSphere vs WebLogic,它们可能都以不同的方式实现其dispatchers)。@paulsm4如果您能共享一个参考链接以支持您在此处共享的信息,我将不胜感激。我一直在寻找显示web服务生命周期的东西(比如在OracleJEE5教程中可以很容易地找到无状态会话bean生命周期),但找不到任何。。。