27.2. ビジネスプロセスを実行する要求の例

有効なプロセス定義インスタンスを作成したら、パブリック KIE API と内部 KIE API の組み合わせを使用してこれを実行できます。プロセスを実行するには、KieBase の作成に使用する Resource を作成します。KieBase を使用して、プロセスを実行するために KieSession を作成できます。

以下の例は ProcessBuilderFactory.toBytes プロセスを使用して ByteArrayResource リソースを作成します。

プロセスを実行する要求の例

// Build resource from Process
KieResources resources = ServiceRegistry.getInstance().get(KieResources.class);
Resource res = resources
                        .newByteArrayResource(factory.toBytes(process))
                        ​.setSourcePath("/tmp/processFactory.bpmn2"); // source path or target path must be set to be added into kbase
​// Build kie base from this resource using KIE API
​KieServices ks = KieServices.Factory.get();
​KieRepository kr = ks.getRepository();
​KieFileSystem kfs = ks.newKieFileSystem();
​kfs.write(res);
​KieBuilder kb = ks.newKieBuilder(kfs);
​kb.buildAll(); // kieModule is automatically deployed to KieRepository if successfully built.
​KieContainer kContainer = ks.newKieContainer(kr.getDefaultReleaseId());
​KieBase kbase = kContainer.getKieBase();
​// Create kie session using KieBase
​KieSessionConfiguration conf = ...;
​Environment env = ....;
​KieSession ksession = kbase.newKieSession(conf,env);
​// execute process using same process Id that is used to obtain ProcessBuilder instance
​ksession.startProcess(processId)