flowable6.4.1+springboot使用dmn
阿新 • • 發佈:2019-04-09
resources/dmn/strings_1.dmn
<?xml version="1.0" encoding="UTF-8"?> <definitions xmlns="http://www.omg.org/spec/DMN/20151101/dmn.xsd" id="simple" name="Simple" namespace="http://activiti.org/dmn"> <decision id="decision" name="Simple decision"> <decisionTable id="decisionTable"> <input> <inputExpression id="inputExpression1" typeRef="string"> <text>input1</text> </inputExpression> </input> <output id="output1" label="Output 1" name="output1" typeRef="string" /> <rule> <inputEntry id="inputEntry1"> <text><![CDATA[.startsWith('test')]]></text> </inputEntry> <outputEntry id="outputEntry1"> <text>'shareniu1'</text> </outputEntry> </rule> <rule> <inputEntry id="inputEntry2"> <text><![CDATA[.endsWith('test')]]></text> </inputEntry> <outputEntry id="outputEntry2"> <text>'shareniu2'</text> </outputEntry> </rule> </decisionTable> </decision> </definitions>
Service.java
import org.flowable.dmn.api.DmnRepositoryService; import org.flowable.dmn.api.DmnRuleService; import org.flowable.engine.delegate.DelegateExecution; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.HashMap; import java.util.List; import java.util.Map; @Service public class TimerRedPacketService { @Autowired private DmnRuleService dmnRuleService; @Autowired private DmnRepositoryService dmnRepositoryService; public void redPacket(DelegateExecution execution) { dmnRepositoryService.createDeployment().name("secondDeployment").disableSchemaValidation() .addClasspathResource("dmn/strings_1.dmn").tenantId("testTenant") .deploy(); Map<String, Object> processVariablesInput = new HashMap<>(); processVariablesInput.put("input1", "Stringtest"); List<Map<String, Object>> result = dmnRuleService.executeDecisionByKey("decision", processVariablesInput); System.out.println(result.get(0).get("output1")); } }
resources/flowable.dmn.cfg.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <bean id="dmnEngineConfiguration" class="org.flowable.dmn.engine.impl.cfg.StandaloneDmnEngineConfiguration"> <property name="jdbcUrl" value="jdbc:mysql://130.51.23.249:3306/flowable" /> <property name="jdbcDriver" value="com.mysql.jdbc.Driver" /> <property name="jdbcUsername" value="flowable" /> <property name="jdbcPassword" value="flowable" /> </bean> </beans>
pom.xml
<dependency>
<groupId>org.flowable</groupId>
<artifactId>flowable-spring-boot-starter-dmn</artifactId>
<version>${flowable.version}</version>
</dep