Java 执行restful服务客户端';的并发请求会导致restful服务出现问题吗?
我正在通过客户端的http访问测试Java中的Restful web服务。我有一个很大的文本文件,对于文件的每一行,我需要向Web服务发送一个http请求来处理文本并将结果返回给客户端。为了加快处理速度,我尝试使用多线程应用程序将HTTP请求并发发送到Web服务 似乎当我在客户端代码中设置线程数=1时,服务工作得很好,但速度很慢。当我将线程数设置为>1时,web服务的日志显示一些错误消息,即“超时”(在某些地方我有超时监控代码)或“executionexception”或interruptedexception”。在web服务的代码中,使用了未来的对象 我的问题是:Java 执行restful服务客户端';的并发请求会导致restful服务出现问题吗?,java,rest,futuretask,Java,Rest,Futuretask,我正在通过客户端的http访问测试Java中的Restful web服务。我有一个很大的文本文件,对于文件的每一行,我需要向Web服务发送一个http请求来处理文本并将结果返回给客户端。为了加快处理速度,我尝试使用多线程应用程序将HTTP请求并发发送到Web服务 似乎当我在客户端代码中设置线程数=1时,服务工作得很好,但速度很慢。当我将线程数设置为>1时,web服务的日志显示一些错误消息,即“超时”(在某些地方我有超时监控代码)或“executionexception”或interruptede
1) Does the client's concurrency affect the web service's thread safety? I thought it won't and shouldn't.
2) What are the possible reasons for generating those error messages?
1) 多线程客户端不会影响服务器的线程安全。但它们可能会暴露服务器上的线程问题(如果服务器不是线程安全的)
2) 标准线程问题可能会导致这种情况。特别是竞争条件和死锁。如果没有代码,很难判断出哪里出了问题。“但它们可能会暴露服务器上的线程问题。”"? 如果客户端不影响线程安全性?这有点吹毛求疵,但服务器是线程安全的或不是线程安全的。这并不取决于有多少客户机同时访问它,但当同时向服务器发出大量请求时,服务器似乎出现了问题;否则(单线程请求很少),它运行良好。