2016-12-02 4 views

Antwort

1

Ja, Sie können die Regeldatei basierend auf dem Benutzer erstellen.

Ich habe auch einige R & D auf dieser benutzerbasierten Regelgenerierung, in meinem Szenario habe ich die Regeldatei so wie device_id erstellt, wann immer ich das Paket mit diesem Benutzer bekomme ich die Regel-Datei mit diesem Namen laden im Bolzen.

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); 

In meinem Szenario deviceId ist die Regel Dateiname dieses Geräts

bean - ist Ihr Java Bean

+0

ja ich erhielt Idee, aber meine Frage ist, gibt es keine Geräte-ID.wo muss ich Regel-Datei in Storm in Auslauf, Schraube oder Topologie aufrufen? –

+0

Kein Auslauf, es gibt zwei Möglichkeiten: 1. Sie können den Drl in den Schraubenzieher laden 2. Sie können in die Bolzenklasse wie oben erwähnt laden. – Mahabaleshwar

+0

danke viel sir für die antwort geben jetzt habe ich idee, ich werde es tun. –

Verwandte Themen