1

我遇到了一个问题,我不知道它为什么会出现。我有一个 InputAdapter 接收随机生成的事件用于测试目的。

以下代码创建了一个删除大量事件的查询。我实际上想保留它。

var atgs = new AdvanceTimeGenerationSettings(config.Input.EventCount, 
                    TimeSpan.FromSeconds(config.Input.Delay), true);
                var ats = new AdvanceTimeSettings(atgs, null, AdvanceTimePolicy.Adjust);

                var dstream = CepStream<Dataclass>.Create("Data Input Stream", typeof (InAdapterFactory),
                    config.Input, EventShape.Point, ats);



                Query output = dstream.ToQuery(myApplication,
                    "Sample unbounded query",
                    "Query with no output adapter",
                    EventShape.Point,
                    StreamEventOrder.FullyOrdered);
                output.Start();

                var instream = output.ToStream<Dataclass>();

有谁知道为什么在 DataInputStream 和 DatainputStream_CleanseInput 之间只有五分之一的事件通过?见下图。有没有办法避免这种情况?

https://dl.dropboxusercontent.com/u/15482726/CleanseIssue.jpg

我非常感谢任何帮助。

最好的问候,乔

4

1 回答 1

1

这些将是由于 CTI 违规而被丢弃的事件。虽然您将 AdvanceTimePolicy 设置为 Adjust,但这仅适用于跨越相关 CTI 范围的 Interval 事件。也就是说,如果Interval事件的开始时间在最后一次发布的CTI之前,结束时间在最后一次发布的CTI之后,则将调整Interval事件的开始时间(仅)。点事件总是被丢弃。

于 2014-05-24T13:55:13.113 回答