钉钉开发stream模式推送服务端为什么一时推送成功一时不行?
代码:
import com.dingtalk.open.app.api.KeepAliveOption;
import com.dingtalk.open.app.api.OpenDingTalkClient;
import com.dingtalk.open.app.api.OpenDingTalkStreamClientBuilder;
import com.dingtalk.open.app.api.security.AuthClientCredential;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class EventListener {
@Value("${dingtalk.app.client-id}")
private String clientId;
@Value("${dingtalk.app.client-secret}")
private String clientSecret;
@Bean(initMethod = "start")
public OpenDingTalkClient configure(EventConsumer eventConsumer) {
// 创建一个自定义的 KeepAliveOption 对象
KeepAliveOption keepAliveOption = KeepAliveOption.create()
.withKeepAliveIdleMill(60000L); // 设置心跳间隔为 60 秒
// 构建 OpenDingTalkClient
return OpenDingTalkStreamClientBuilder.custom()
.credential(new AuthClientCredential(clientId, clientSecret))
.registerAllEventListener(eventConsumer)
.keepAlive(keepAliveOption)
.maxConnectionCounts(2) // 增加最大连接数
.connectTimeout(5000) // 增加连接超时时间
.build();
}
}
根据代码log.info("收到事件: {}", event);查看日志可知接收的消息一会儿有一会儿没有,甚至应该进来两条但实际只进来一条
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。