Package org.drools.example.api.kiecontainerfromkierepo

Source Code of org.drools.example.api.kiecontainerfromkierepo.KieContainerFromKieRepoExample

package org.drools.example.api.kiecontainerfromkierepo;

import org.kie.KieServices;
import org.kie.runtime.KieContainer;
import org.kie.runtime.KieSession;

import java.io.PrintStream;

public class KieContainerFromKieRepoExample {

    public void go(PrintStream out) {
        KieServices ks = KieServices.Factory.get();

        // Install example1 in the local maven repo before to do this
        KieContainer kContainer = ks.newKieContainer( ks.newReleaseId( "org.drools", "named-kiesession", "6.0.0-SNAPSHOT") );

        KieSession kSession = kContainer.newKieSession( "ksession1" );
        kSession.setGlobal( "out", out );
       
        Object msg1 = createMessage( kContainer,"Dave", "Hello, HAL. Do you read me, HAL?" );       
        kSession.insert( msg1 );
        kSession.fireAllRules();           
    }
   
    public static void main( String[] args ) {
        new KieContainerFromKieRepoExample().go( System.out );
    }
   
    private static Object createMessage(KieContainer kContainer, String name, String text) {
        Object o = null;
        try {
            Class cl = kContainer.getClassLoader().loadClass( "org.drools.example.api.namedkiesession.Message" );
            o =  cl.getConstructor( new Class[] { String.class, String.class } ).newInstance( name, text );
        } catch ( Exception e ) {
            e.printStackTrace();
        }
        return o;
    }

}
TOP

Related Classes of org.drools.example.api.kiecontainerfromkierepo.KieContainerFromKieRepoExample

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.