我正在面对一些problems与我的设置,我试图增加心跳间隔以测试可能的修复程序。 我使用增加春季兔子的心率值
Spring boot 1.3.2.RELEASE
Spring rabbit 1.5.3.RELEASE
和实例连接工厂的代码是低于
RabbitConnectionFactoryBean connectionFactoryBean = new RabbitConnectionFactoryBean();
connectionFactoryBean.setUseSSL(useSsl);
connectionFactoryBean.setHost(rabbitHostname);
connectionFactoryBean.setVirtualHost(rabbitVhost);
connectionFactoryBean.setUsername(rabbitUsername);
connectionFactoryBean.setPassword(rabbitPassword);
connectionFactoryBean.setConnectionTimeout(900000);
connectionFactoryBean.setRequestedHeartbeat(900);
connectionFactoryBean.afterPropertiesSet();
CachingConnectionFactory cf = new CachingConnectionFactory(connectionFactoryBean.getObject());
cf.setChannelCacheSize(40);
return cf;
的问题是心跳间隔没有改变。我快速浏览一下在AMQConnection揭示了以下
int heartbeat = negotiatedMaxValue(this.requestedHeartbeat,
connTune.getHeartbeat());
private static int negotiatedMaxValue(int clientValue, int serverValue) {
return (clientValue == 0 || serverValue == 0) ?
Math.max(clientValue, serverValue) :
Math.min(clientValue, serverValue);
}
来自服务器的值是60.方法negotiatedMaxValue
不会尊重客户的偏好(无法禁用心跳,也没有增加的话)。我错过了什么吗?