Heim  >  Artikel  >  Java  >  Verwendung von Drools für die Regel-Engine-Verarbeitung in der Java-API-Entwicklung

Verwendung von Drools für die Regel-Engine-Verarbeitung in der Java-API-Entwicklung

WBOY
WBOYOriginal
2023-06-18 11:37:462147Durchsuche

Verwendung von Drools für die Regel-Engine-Verarbeitung in der Java-API-Entwicklung

Derzeit ist die Regel-Engine in der Java-Entwicklung mit der kontinuierlichen Entwicklung von Anwendungen auf Unternehmensebene und der steigenden Nachfrage zu einem immer wichtigeren Bestandteil geworden. Die Regel-Engine kann Geschäftsregeln vom Systemcode trennen und die Wartbarkeit und Skalierbarkeit des Systems verbessern. Unter den Regel-Engines ist Drools derzeit eine der beliebtesten Regel-Engines. In diesem Artikel wird die Verwendung von Drools für die Regel-Engine-Verarbeitung in der Java-API-Entwicklung vorgestellt.

1. Einführung in Drools

Drools ist eine Open-Source-Regel-Engine auf Java-Basis, die von JBoss entwickelt und verwaltet wird. Es verfügt über leistungsstarke Funktionen und unterstützt die Verarbeitung komplexer Geschäftslogiken auf der Grundlage von Regeln. Drools enthält eine Regel-Engine und eine Ereignis-Engine, mit denen verschiedene Arten von Geschäftsanwendungen entwickelt werden können, z. B. Regel-Engines, Entscheidungstabellen, Workflows, Ereignisverarbeitung, Planung usw.

Die Regel-Engine von Drools ist eine auf dem Rete-Algorithmus basierende Inferenz-Engine, die schnell feststellen kann, ob die Regelbedingungen erfüllt sind, und entsprechende Vorgänge ausführen kann. Es gibt eine Sprache für verschiedene Regelbeschreibungen, und diese Sprache ist die Drools-Sprache.

2. Verwenden Sie Drools für die Regelverarbeitung

  1. Schreiben von Regeldateien

Wenn Sie Drools zum Schreiben von Regeldateien verwenden, kann das DRL-Dateiformat verwendet werden. Die DRL-Datei ist eine Definitionsdatei für die Regeldefinitionssprache. Sie ähnelt einer Java-Datei und besteht aus Paket-, Import-, Global-, Regel- und anderen Teilen. Wird hauptsächlich zur Beschreibung von Informationen wie Regelnamen, Voraussetzungen, Schlüsselwörtern und Regelüberprüfung verwendet. Der Zweck einer DRL-Datei besteht darin, Geschäftsregeln von der Anwendung zu trennen und so die Regeln klarer und einfacher zu verwalten.

  1. Aufbau von KieSession und Fakten

KieSession ist eine von Drools bereitgestellte Laufzeitumgebung, die Regeln aus der Regeldatei zur Fakt-(Fakten-)Überprüfung lesen kann. Fakt ist das Objekt, das durch Regeln überprüft werden muss. Es kann ein JavaBean oder ein benutzerdefiniertes Objekt sein.

Bevor Sie KieSession einrichten, müssen Sie die DRL-Datei in die entsprechende KieBase und KieSession kompilieren. KieBase ist die gesamte Regelbasis, die eine Reihe von Regeln enthält, die zur Validierung von Faktobjekten verwendet werden können. In KieBase hat jede Regel einen eindeutigen Namen und KieSession wird aus KieBase erstellt, das eine Sitzungsumgebung für die Verarbeitung von Faktobjekten bereitstellt.

  1. Beschreiben Sie Regeln und führen Sie sie aus

Nachdem die KieSession eingerichtet wurde, können Sie damit die Regeln und die Aktionen zur Ausführung der Regeln beschreiben. Sie können das Fact-Objekt über den Einfügevorgang in die Regel einfügen, dann die Regel-Engine über fireAllRules ausführen und schließlich die Ausführungsergebnisse im entsprechenden Fact-Objekt speichern.

3. Beispielcode

Das Folgende ist ein einfaches Java-Codebeispiel, das von der Regel-Engine über Drools verarbeitet wird:

import org.kie.api.KieServices;
import org.kie.api.runtime.KieContainer;
import org.kie.api.runtime.KieSession;
import java.util.HashMap;
import java.util.Map;

public class DroolsDemo {
    public static void main(String[] args) {
        KieServices kieServices = KieServices.Factory.get();
        KieContainer kContainer = kieServices.getKieClasspathContainer();
        KieSession kSession = kContainer.newKieSession("ksession-rules");

        Person person = new Person();
        person.name = "John";
        person.age = 20;

        kSession.insert(person);
        kSession.fireAllRules();

        System.out.println("Age after rule: " + person.age);
    }

    public static class Person {
        public String name;
        public int age;
    }
}

Dieser Code lädt die Regelbeschreibung in die DRL-Datei, kompiliert sie in KieBase und KieSession und konvertiert sie dann Fügen Sie ein Personenobjekt in KieSession ein, lösen Sie die Regel aus und geben Sie schließlich das berechnete Alter der Person aus.

4. Zusammenfassung

Drools ist eine leistungsstarke Regel-Engine, die komplexe Geschäftslogik verarbeiten kann. Durch die Verwendung von Drools als Regel-Engine können Geschäftsregeln vom Systemcode getrennt werden, wodurch die Wartbarkeit und Skalierbarkeit des Systems verbessert wird. Durch die in diesem Artikel vorgestellte Methode können wir Drools problemlos für die Regel-Engine-Verarbeitung in der Java-API-Entwicklung verwenden.

Das obige ist der detaillierte Inhalt vonVerwendung von Drools für die Regel-Engine-Verarbeitung in der Java-API-Entwicklung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn