Package net.sf.eBus.feed.pattern
This package contains specialized feeds extending the basic
feeds in
net.sf.eBus.client. Currently this package
consists only of pattern feeds but there are more planned such
as:
- historical/live feed: the ability to access both historical and/or live updates across one feed (Note: completed as of eBus release 6.3.0).
-
active/stand-by reply feed: allows two or more
ERepliers for the same message key to be placed into active and stand-by status. All repliers will see matching requests but only the active replier's response is posted back to the requester. If the active replier advertisement is lost, the a stand-by replier takes over as active. - replier load balancing: requests are distributed across multiple repliers based on a configured load balancing scheme.
Pattern Notification Feeds
eBus v. 4.6.0 introduced pattern feeds. A pattern feed monitors one or morenotification feeds
looking for a series of events which match a user-defined
pattern. When a matching event series is found, a
MatchEvent is posted to the
subscriber.
MatchEvent contains all the matching events and
user-defined capture groups.
There are two pattern types: ordered and unordered. Ordered
patterns are a simple event regular expressions. Each
construct has the form
[one or more event names]{n, m}
where the specified events must appear at least n
times and at most m times. Events must arrive in
exactly the ordered specified by the pattern to make a match.
Unordered patterns specify how many of each event type must be received to match the pattern. If a pattern states that between 3 and 5 stock trade events and 1 to 2 stock quote events are needed, then any mix of trade and quote events satisfying these counts matches the pattern.
See EventPattern and
EPatternFeed to learn how
to create patterns and use pattern feeds.
-
Interface Summary Interface Description MatchCondition Implement this method to test if the latest event matches the pattern. -
Class Summary Class Description EPatternFeed eBus pattern feeds sit betweeneBus notification eventsand aneBus client, searching for a client-specifiedevent patternin the notification event stream.EPatternFeed.AbstractMatchFrame A match frame tracks an in-progress match.EPatternFeed.PatternBuilder<F extends EPatternFeed,B extends EPatternFeed.PatternBuilder<F,?>> Based class for pattern feed builders.EventPattern EventPatternprovides the two pieces of information needed to do pattern matching: 1) thenotification feedsproviding the events used in the match and 2) the pattern itself.EventPattern.Builder Builderis the only way to create anEventFeedinstance.EventPattern.FeedInfo This class provides the information needed byEPatternFeedtobuildto a notification message feed.MatchEvent A match event reports an event pattern match.MatchEvent.Builder MatchEventnotification builder class. -
Enum Summary Enum Description EventPattern.PatternType eBus patterns come in two varieties: ordered and unordered.