2012-03-12 56 views
3

我最近被要求将CXF配置为与旧版XFire服务相同的参数。CXF在不更改http.maxConnections的情况下增加连接池大小

其中一个参数是Keep-Alive: timeout=60, max=20。 但是,我做了一些研究,看来CXF使用引擎盖下的JVM HttpURLConnection对象。 From what I see,已经有一些尝试为它提供配置,但是现在没有提供任何配置。

我不希望更改http.maxConnections参数,因为它只会影响所有服务器而不是CXF Web服务。

,我发现这个interresting forum thread谈论它但以理库普说:

BTW:有一种方法来控制连接池,但它是一个 SERVER端的事情。基本上,如果服务器发回的报头:

Keep-Alive: timeout=60, max=5

然后Java客户端将尊重这些值。现在在CXF中, 您可能需要编写一个拦截器来设置这些值。 我只是做了一个提交到trunk的扩展http配置到 包括一个设置来控制这个从配置文件。

我可以写一个拦截器来修改头文件。然而我的问题是:服务器如何应对这种变化?如果服务器预计最多5个连接并且客户端执行更多操作,那么这不会成为问题吗?

回答

2

根据我读here,保活参数可以通过系统属性或直接在HTTP标头控制器:

对HTTP的支持保持活跃用户是透明的。但是,它可以被 通过系统属性控制 http.keepAlive,和 http.maxConnections,以及通过HTTP/1.1中指定请求和 响应头