Je les deux classes de fréquence cardiaque avec des champs suivants:Esper règle langue: contexte d'imbrication
int heartrate;
String heartratesTimestamp;
String macAddress;
et les étapes avec des champs:
int steps;
String stepsTimestamp;
String macAddress;
La règle que j'ai écrit incendies lorsque le nombre d'étapes est plus de 100 à la dernière minute et la fréquence cardiaque est supérieure à 160.
EPStatement cepStatementRule7 = cepRule.createEPL("context PartitionByMac select * from "
+ "Steps.win:time(1 min) S, HeartRate.win:time(1 min) H "
+ "having (max(S.steps)-min(S.steps) > 100) and (H.heartrate > 160)");
cepStatementRule7.addListener(new rule7Listener());
Je voudrais cha nge cette règle pour qu'elle soit basée sur le contexte de macAddress. Alors que la règle ne considère que les étapes et heartrates avec le même macAddress. J'ai écrit une règle de contexte pour la macAddress des étapes et une pour le macAddress de Heartrate. Ils travaillent tous les deux individuellement mais quand j'essaye de les imbriquer, la règle ne se déclenche plus.
cepRule.createEPL("create context PartitionByMac
context PartitionByMacSteps partition by macAddress from Steps,
context PartitionByMacHeartRate partition by macAddress from HeartRate");
Qu'est-ce que je fais mal?