本文整理汇总了Java中org.kie.api.builder.KieScanner类的典型用法代码示例。如果您正苦于以下问题:Java KieScanner类的具体用法?Java KieScanner怎么用?Java KieScanner使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
KieScanner类属于org.kie.api.builder包,在下文中一共展示了KieScanner类的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: doTest
import org.kie.api.builder.KieScanner; //导入依赖的package包/类
@Test
public void doTest() throws InterruptedException {
new UrlResource();
KieServices kieServices = KieServices.Factory.get();
ReleaseIdImpl releaseId = new ReleaseIdImpl(G, A, V);
KieContainer kContainer = KieServices.Factory.get().newKieContainer(
releaseId);
KieScanner kScanner = kieServices.newKieScanner(kContainer);
KieSession kSession = kContainer.newKieSession();
kScanner.start(3000);
// KieScanner will continue scanning the server looking for artifact
// update
while (true) {
Thread.sleep(3000);
kSession.fireAllRules();
}
}
示例2: doTest
import org.kie.api.builder.KieScanner; //导入依赖的package包/类
@Test
public void doTest() throws InterruptedException {
//System.setProperty("kie.maven.settings.custom", value)
KieServices kieServices = KieServices.Factory.get();
ReleaseIdImpl releaseId = new ReleaseIdImpl(G, A, V);
KieContainer kContainer = KieServices.Factory.get().newKieContainer(
releaseId);
KieScanner kScanner = kieServices.newKieScanner(kContainer);
KieSession kSession = kContainer.newKieSession();
kScanner.start(3000);
// KieScanner will continue scanning the server looking for artifact
// update
while (true) {
Thread.sleep(3000);
kSession.fireAllRules();
}
}
示例3: init
import org.kie.api.builder.KieScanner; //导入依赖的package包/类
public void init () {
LOG.info("[init]preparing stateful session...");
KieServices ks = KieServices.Factory.get();
String path = "";
try {
//OSGi support
BundleContext bc = Activator.getBundleContext();
if ( bc != null ) {
Preconditions.checkNotNull(bc, "bundle not activated");
URL url = bc.getBundle().getEntry(settingPath);
path = FileLocator.toFileURL(url).getPath();
} else {
path = settingPath;
}
} catch (Exception e) {
LOG.error("Failed to locate file:");
LOG.error(Throwables.getStackTraceAsString(e));
}
System.setProperty("kie.maven.settings.custom", path);
ReleaseId releaseId = ks.newReleaseId(groupId, artifactId, version);
LOG.info(String.format("[init]initializing kie container with releaseId %s", releaseId));
KieContainer kieContainer = ks.newKieContainer(releaseId);
KieScanner kieScanner = ks.newKieScanner(kieContainer);
kieScanner.scanNow();
ksession = kieContainer.newKieSession(session);
ksession.setGlobal("LOG", LOG);
LOG.info("[init]stateful rule engine prepared");
}
示例4: init
import org.kie.api.builder.KieScanner; //导入依赖的package包/类
public void init () {
LOG.info("[init]preparing stateless session...");
KieServices ks = KieServices.Factory.get();
String path = "";
try {
//OSGi support
BundleContext bc = Activator.getBundleContext();
if ( bc != null ) {
Preconditions.checkNotNull(bc, "bundle not activated");
URL url = bc.getBundle().getEntry(settingPath);
path = FileLocator.toFileURL(url).getPath();
} else {
path = settingPath;
}
} catch (Exception e) {
LOG.error("Failed to locate file:");
LOG.error(Throwables.getStackTraceAsString(e));
}
System.setProperty("kie.maven.settings.custom", path);
ReleaseId releaseId = ks.newReleaseId(groupId, artifactId, version);
LOG.info(String.format("[init]initializing kie container with releaseId %s", releaseId));
KieContainer kieContainer = ks.newKieContainer(releaseId);
KieScanner kieScanner = ks.newKieScanner(kieContainer);
kieScanner.scanNow();
ksession = kieContainer.newStatelessKieSession(session);
ksession.setGlobal("LOG", LOG);
LOG.info("[init]stateless rule engine prepared");
}
示例5: doStop
import org.kie.api.builder.KieScanner; //导入依赖的package包/类
/** {@inheritDoc} */
@Override
protected void doStop() {
try {
KieScanner scanner = ((KieScanner)(_perRequestRuntimeManager.getRuntimeEngine().getKieSession().getEnvironment().get("KieScanner")));
if (scanner != null) {
try {
scanner.stop();
scanner.shutdown();
} catch (Throwable t) {
CommonKnowledgeLogger.ROOT_LOGGER.problemStopppingKieScanner(t.getMessage());
} finally {
String releaseId = super.getModel().getManifest().getContainer().getReleaseId();
if (releaseId != null && !releaseId.trim().equals("")) {
KieServices _kieServices = KieServices.Factory.get();
// fix for SWITCHYARD-2241
_kieServices.getRepository().removeKieModule(ContainerManifest.toReleaseId(releaseId));
}
}
}
_perRequestRuntimeManager.close();
} finally {
try {
disposeSingletonRuntimeEngine();
} finally {
super.doStop();
}
}
}
示例6: getkScanner
import org.kie.api.builder.KieScanner; //导入依赖的package包/类
public KieScanner getkScanner() {
return kScanner;
}
示例7: setkScanner
import org.kie.api.builder.KieScanner; //导入依赖的package包/类
public void setkScanner(KieScanner kScanner) {
this.kScanner = kScanner;
}
示例8: newKieScanner
import org.kie.api.builder.KieScanner; //导入依赖的package包/类
@Override
public KieScanner newKieScanner(KieContainer kieContainer) {
return kieServices.newKieScanner(kieContainer);
}