在 Aeron 的日志中,可以找到关于停止录制的原因描述。 可以分析这些日志并查找事件发生的时间和系统状态,来确定可能导致流处理停止的问题。
通过检查应用程序是否成功订阅了传入数据流来确认该问题。因此,检查是否正确创建了订阅并进行了连接。
示例代码如下:
final Subscription subscription = aeron.addSubscription(channel, streamId);
一个流可能会因为订阅间隙而中断。因此,在订阅之间进行足够的间隔定期更新间谍订阅以确保流程正常运行。
示例代码如下:
while (true)
{
final int fragmentsRead = subscription.poll(controlledFragmentHandler, FRAGMENT_LIMIT);
if (fragmentsRead == 0)
{
doWork(image, clock.nanoTime());
}
}
优化网络连接使它更稳定,并确保防止网络故障的多重机制。
Aeron 官方网站提供了适用于不同语言和平台的文档和支持,如果这些问题仍然无法解决请前往官方网站。