httpinvoker 设定超时时间

1:spring4x后httpinvoker默认采用SimpleHttpInvokerRequestExecutor调度器,默认不设超时时间

2:网上大多数采用CommonsHttpInvokerRequestExecutor。

    两个缺点,

    一:性能低于SimpleHttpInvokerRequestExecutor;

    二:spring4x后移除该类。

3:解决方案

    一:写一个类,继承SimpleHttpInvokerRequestExecutor。然后代码中设定超时时间 和其他自定义功能;

        PS:配置方法与下方基本相同

    二:配置SimpleHttpInvokerRequestExecutor的超时时间。(推荐)

<bean id="tspServiceHttpInvokerServices" class="org.springframework.remoting.httpinvoker.HttpInvokerProxyFactoryBean">
    <property name="serviceUrl" value="http://localhost:8077/api/remoting/ServiceImplHttpInvoker"></property>
    <property name="serviceInterface" value="group.zealot.api.webservice.remoting.ServiceRemoting"></property>

    <property name="httpInvokerRequestExecutor">
        <ref bean="httpInvokerRequestExecutor"/>
    </property>
</bean>

<bean id="httpInvokerRequestExecutor" class="org.springframework.remoting.httpinvoker.SimpleHttpInvokerRequestExecutor">
    <property name="connectTimeout" value="5000"></property>
    <property name="readTimeout" value="10000"></property>
</bean>

猜你喜欢

转载自blog.csdn.net/taoleialskdjfhg/article/details/80033228