Skip to content

Instantly share code, notes, and snippets.

@mariofusco
Created February 18, 2014 11:40
Show Gist options
  • Save mariofusco/9069399 to your computer and use it in GitHub Desktop.
Save mariofusco/9069399 to your computer and use it in GitHub Desktop.
package org.drools.example.osgi;
import org.kie.api.KieServices;
import org.kie.api.builder.KieScanner;
import org.kie.api.builder.ReleaseId;
import org.kie.api.runtime.KieContainer;
import org.kie.api.runtime.KieSession;
import org.osgi.framework.BundleActivator;
import org.osgi.framework.BundleContext;
public class ProcessActivator implements BundleActivator {
private KieScanner kScanner;
private KieSession ksession;
@Override
public void start(BundleContext bundleContext) throws Exception {
KieServices kieServices = KieServices.Factory.get();
ReleaseId releaseId = kieServices.newReleaseId( "org.test", "kie-project-simple", "LATEST" );
KieContainer kContainer = kieServices.newKieContainer( releaseId );
kScanner = kieServices.newKieScanner( kContainer );
for (int i = 0; i < 100; i++) {
kScanner.scanNow();
ksession = kContainer.newKieSession();
ksession.insert("test");
ksession.fireAllRules();
Thread.sleep(5000);
}
}
@Override
public void stop(BundleContext bundleContext) throws Exception {
if (this.kScanner != null) {
this.kScanner.stop();
System.out.println("KieSscanner stopped.");
}
if (this.ksession != null) {
this.ksession.dispose();
System.out.println("KieSession disposed.");
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment