首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用sun HttpServer时传递HttpServer回复的“延迟”

使用sun HttpServer时传递HttpServer回复的“延迟”
EN

Stack Overflow用户
提问于 2011-12-18 17:57:16
回答 1查看 1.7K关注 0票数 1

我正在编写一个实现which的独立应用程序,该应用程序的端点是使用嵌入的Sun HttpServer发布的。我对此有一个奇怪的问题,在特定的部署情况下,在服务器处理/sending应答和接收应答的客户端之间存在明显的延迟。

让我举几个例子:

案例1)工作:服务器在Eclipse中运行,它使用OpenJDK 1.6.0_23作为运行时。客户端是用axis实现的(不是axis2!)并且运行在JBoss内部的Solaris JBoss(必须承认我不知道确切的Java版本,但我怀疑是Java 5版本)。

案例2)工作:服务器运行在Solaris x86上,使用java 1.6.0_26,客户端使用OpenJDK 1.6.0_23在Eclipse中运行。

例3)无法工作:服务器运行在带有java 1.6.0_26的Solaris 1.6.0_26上,客户端运行在Solaris x86上,轴在Solaris x86上(同样,怀疑是Java 5,而不是6)。

我想知道我是否会患上下面的Java,它是用1.6.0_30修复的(假设OpenJDK 1.6.0_xx没有遭受相同的bug)?

http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7068416

但如果是这样的话,为什么第二种情况会起作用呢?客户端能以某种方式控制服务器端的TCP_NODELAY吗?

关于我观察到的确切延迟:我有两个web服务,发布在不同的上下文中。例2不同的WSDL。客户端(显然)对每个服务都有单独的(轴1)绑定。对于一个服务,我看到一致的延迟正是150秒,而对于另一个服务,延迟始终是300秒。这些价值观对任何人都有影响吗?

马腾

编辑我现在倾向于Eclipse Generated Web Service Client Extremely Slow的原因和解决方案。现在无法测试,因为我坐在酒店的房间里,没有系统。

EN

回答 1

Stack Overflow用户

发布于 2011-12-19 08:37:02

好的,通过告诉Axis使用CommonsHttpSender而不是默认的HttpSender来解决这个问题。由于相关应用程序已经在其WEB/lib目录中拥有了必要的jars,所以这并不是什么大问题。

要使Axis (1.4)使用CommonsHttpSender,请在以下位置创建一个"client-config.wsdd“文件(注意:这是导致我头疼的不明显部分):

代码语言:javascript
复制
MY.ear/MY.war/WEB-INF/classes/org/apache/axis/client/client-config.wsdd

内容如下:

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?> 
<deployment 
    name="commonsHTTPConfig" 
    xmlns="http://xml.apache.org/axis/wsdd/" 
    xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">

   <!-- use CommonsHTTPSender instead of the default HTTPSender -->
  <transport name="http" pivot="java:org.apache.axis.transport.http.CommonsHTTPSender" />  

  <transport name="local" pivot = "java:org.apache.axis.transport.local.LocalSender" /> 
  <transport name="java" pivot="java:org.apache.axis.transport.java.JavaSender" /> 
</deployment>

重新启动应用程序。在进行此更改后,Axis将使用HTTP/1.1进行web服务调用,这似乎是纠正这一恼人的延迟所需的全部内容。似乎HTTP协议规范(或者Axis的实现)中有些东西不喜欢HTTP/1.1对HTTP/1.0请求的响应。

马腾

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8553591

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档