重用org.apache.commons.httpclient.methods.PostMethod对象时出现问题

时间:2011-05-11 23:20:07

标签: java apache httpclient

我注意到如果我通过调用setRequestEntity(...)重用PostMethod对象,则服务器端会出现错误,因为请求未正确解析。好像我第一次调用setRequestEntity时设置了请求体的长度,并且在第二次调用setRequestEntity之后这个长度没有被重置。

如果我为每个请求使用单独的PostMethod对象,一切正常,但有没有办法为不同的请求重用PostMethod对象,因为单独调用setRequestEntity(...)不足以更新请求的内容?

2 个答案:

答案 0 :(得分:4)

没有。您可以重用HttpClient实例,但不能重用Method实例。它们通常是一次性使用。

答案 1 :(得分:2)

不要担心重复使用PostMethod对象,只需创建新对象。 现在,JVM可以快速识别这些短期对象并收集它们。