我正在使用akka java API并拥有以下生产者:
public class ProvisioningResponseWriter extends UntypedProducerActor {
private final String uri;
public ProvisioningResponseWriter(String uri) {
this.configProxy(); // configure http(s) proxy on camel context
this.uri = uri;
}
public Object onTransformOutgoingMessage(Object msg) {
if (msg instanceof String) {
log.debug("Received: {}", (String) msg);
}
return msg;
}
@Override
public String getEndpointUri() {
return this.uri;
}
}
uri就像http://somewhere.com
当URI上的主机因任何原因没有响应时,我的应用程序捕获“Stream Closed”异常并重新启动actor,这很好。问题是如果“Stream Closed”发生了几次以上,这个actor似乎不再向camel端点发送大约5分钟的消息(通过观察线路上的数据包确认。)这是预期的行为?如果是,如何将此行为更改为始终发送消息或将退避减少到几秒钟?