我一直在搜寻Spring 2.5中的org.springframework.remoting.httpinvoker软件包,试图找到一种方法来获得对响应大小的可见性,但是我一直在绕圈.
通过在这里看到的另一个问题,我认为我想做的是在inputStream上获取一个表示服务器响应的句柄,然后将其包装为Apache commons-io CountinginputStream.这样做的最佳方法是什么?
目前,我只希望打印对stdout的响应的大小就满意了,但是最终我希望将其存储在我的应用程序中的知名位置以进行可选显示.
最佳答案您正在按照正确的思路思考,只需要充实细节即可.振作起来,我要用一堆长长的班级名字打你…生成与远程服务对话的存根的客户端工厂是httpinvokerProxyfactorybean.超类(httpinvokerClIEntInterceptor)具有一个名为httpinvokerRequestExecutor的属性,该属性默认为SimplehttpinvokerRequestExecutor的实例.
进行子类化和扩展的时机已经成熟.特别是它具有decorateinputStream方法,可以使用:
public class CountinghttpinvokerRequestExecutor extends SimplehttpinvokerRequestExecutor { @OverrIDe protected inputStream decorateinputStream(inputStream is) throws IOException { return new CountinginputStream(super.decorateinputStream(is)); }}
然后将其注入代理工厂:
<bean > <property name="httpinvokerRequestExecutor"> <bean /> </property> <!-- Plus the varIoUs other propertIEs required by httpinvokerProxyfactorybean --> <!-- URL,proxy interface,etc --></bean>
然后,技巧就变成了掌握这些信息,这需要重新进行创造性的布线.例如,您可以从某个地方的另一个工厂获取CountinginputStream的新实例,然后将字节数公开给您的用户界面. 总结
以上是内存溢出为你收集整理的java-如何获取Spring 2.5 HTTP远程调用的响应大小? 全部内容,希望文章能够帮你解决java-如何获取Spring 2.5 HTTP远程调用的响应大小? 所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)