[This topic is pre-release documentation and is subject to change in future releases. Blank topics are included as placeholders.]

Classes

  ClassDescription
public classExternallyTimedWindowView
View for a moving window extending the specified amount of time into the past, driven entirely by external timing supplied within long-type timestamp values in a field of the event beans that the view receives. The view is completely driven by timestamp values that are supplied by the events it receives, and does not use the system time. It requires a field name as parameter for a field that returns ascending long-type timestamp values. It also requires a long-type parameter setting the time length in milliseconds of the time window. Events are expected to provide long-type timestamp values in natural order. The view does itself not use the current system time for keeping track of the time window, but just the timestamp values supplied by the events sent in. The arrival of new events with a newer timestamp then past events causes the window to be re-evaluated and the oldest events pushed out of the window. Ie. Assume event X1 with timestamp T1 is in the window. When event Xn with timestamp Tn arrives, and the window time length in milliseconds is t, then if ((Tn - T1) > t == true) then event X1 is pushed as oldData out of the window. It is assumed that events are sent in in their natural order and the timestamp values are ascending.

public classLengthWindowView
This view is a moving window extending the specified number of elements into the past.

public classTimeBatchView
A data view that aggregates events in a stream and releases them in one batch at every specified time interval. The view works similar to a time_window but in not continuous. The view releases the batched events after the interval as new data to child views. The prior batch if not empty is released as old data to child view. The view doesn't release intervals with no old or new data. It also does not GetSelectListEvents old data published by a parent view.

For example, we want to calculate the average of IBM stock every hour, for the last hour. The view accepts 2 parameter combinations. (1) A time interval is supplied with a reference point - based on this point the intervals are set. (1) A time interval is supplied but no reference point - the reference point is set when the first event arrives.

If there are no events in the current and prior batch, the view will not invoke the update method of child views. In that case also, no next callback is scheduled with the scheduling service until the next event arrives.


public classTimeWindowView
This view is a moving timeWindow extending the specified amount of milliseconds into the past. The view bases the timeWindow on the time obtained from the scheduling service. All incoming events receive a timestamp and are placed in a sorted map by timestamp. The view does not care about old data published by the parent view to this view. Events leave or expire from the time timeWindow by means of a scheduled callback registered with the scheduling service. Thus child views receive updates containing old data only asynchronously as the system-time-based timeWindow moves on. However child views receive updates containing new data as soon as the new data arrives.

Interfaces

  InterfaceDescription
public interfaceDataWindowView
Tag interface for data window views. Data window views follow the view interface but keep a window over the data received by their parent view. Data window view may keep length windows or time windows or other windows. Data window views generally follow the following behavior: They publish the data that was received as new data from their parent view directly as new data to child views. They publish the data that expires out of the window (for length or time reasons or other reasons) as old data to their child views. They remove the data they receive as old data from their parent view out of the window and report the data removed as old data to child views. Certain views may decide to attach only to data window views directly. One reason for this is that window limit the number of event instances kept in a collection. Without this limitation some views may not work correctly over time as events accumulate but are not removed from the view by means old data updates received from a parent data window.