Nous faisons une application Storm, là nous devons créer un fichier de règles pour chaque utilisateur. Est-ce possible ou pas?Comment créer un fichier de règles Drools pour chaque utilisateur utilisant Apache Storm?
2
A
Répondre
1
Oui, vous pouvez créer le fichier de règles en fonction de l'utilisateur. J'ai aussi fait quelques R & D sur cette génération de règles basée sur l'utilisateur, dans mon scénario, j'ai créé le fichier de règles comme id_périphérique, chaque fois que je reçois le paquet avec cet utilisateur, je charge le fichier de règles avec ce nom dans le boulon.
Bolt:
KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
try {
kbuilder.add(ResourceFactory.newInputStreamResource(new FileInputStream(new File("C:/IotHub/conf/"+deviceID))), ResourceType.DRL);
} catch (FileNotFoundException e) {
}
KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
kbase.addKnowledgePackages(kbuilder.getKnowledgePackages());
//
StatelessKnowledgeSession ksession = kbase.newStatelessKnowledgeSession();
ksession.execute(bean);
Dans mon scénario, deviceId est le nom du fichier de règles de ce dispositif
haricot - est votre bean java
oui je suis idée, mais ma question est il n'y a ID de l'appareil où dois-je appeler le fichier de règles dans Storm dans le bec, le verrou ou la topologie? –
Pas de bec, il y a deux façons est là: 1. vous pouvez charger le drl dans le constructeur de boulon 2.Vous pouvez charger dans la classe de boulon comme je l'ai mentionné ci-dessus. – Mahabaleshwar
merci beaucoup monsieur pour donner réponse maintenant j'ai eu idée, je le ferai. –