これは私のコードです。 、ストリームを分割しています上記のコードでは30 ...SplitStream for dynamic output key(選択)
:80、圧力:70、湿度:80、一時
SplitStream<MonitoringEvent> splitStream = inputStream.split(new OutputSelector<MonitoringEvent>() {
@Override
public Iterable<String> select(MonitoringEvent me) {
List<String> ml = new ArrayList<String>();
ml.add(me.getEventType());
return ml;
}
私はランダムな順序で 一時来るイベントの監視の流れを持っていますイベントタイプは、すなわち、temperatureStream、pressureStreamです。
問題は、私はのeventTypeを知っていれば、私は
splitStream.select('temperatureStream')
ようsplitStreamからそれを選択することができますが、eventTypeをは動的であり、事前に定義されていない、です。
この動的ストリームにCEPを適用する方法を教えてください。私が間違っている場合
temperate is > 90 for past 10 minutes ...
pressure is > 90 for past 10 minutes ...
あなたのイベントタイプは有限で小さいので、圧力、湿度など)、複数のストリームを持つことができ、それらの個々のストリームに特定の処理を入力できます。 eventTypesが大きく増加した場合は、管理するのが難しくなります。 – Aurvoir
、またはソース/プロデューサでのイベントを先に分割するか、メッセージングのようなキーベースのルーティングを使用してください。 – Aurvoir