关于hessian4.0版本之前的客户端连接超时问题处理

场景:公司用java客户端和C#服务端实现hessian通信,但是如果数据过大会存在客户端连接超时情况。

hessian4.0以及之后版本在HessianProxyFactory中提供了setConnectionTimeout方法来设置超时时间。之前版本没有提供,可以这样解决:

public class MyHessianProxyFactory extends HessianProxyFactory {

    private int connectTimeOut = 10000;

    private int readTimeOut = 10000;

    public int getConnectTimeOut() {
        return connectTimeOut;
    }

    public void setConnectTimeOut(int connectTimeOut) {
        this.connectTimeOut = connectTimeOut;
    }

    public int getReadTimeOut() {
        return readTimeOut;
    }

    public void setReadTimeOut(int readTimeOut) {
        this.readTimeOut = readTimeOut;
    }

    @Override
	protected URLConnection openConnection(URL url) throws IOException { 

    	URLConnection conn = super.openConnection(url); 
    	if (this.connectTimeOut > 0) { 
    	conn.setConnectTimeout(this.connectTimeOut); 
    	} 
    	return conn; 
    }
}

写一个自己的工厂类继承HessianProxyFactory,重写openConnection方法,在此之中设置超时时间。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值