package activiti; import activiti.mappers.CustomMybatisMapper; import org.activiti.engine.ManagementService; import org.activiti.engine.impl.cmd.AbstractCustomSqlExecution; import org.activiti.engine.impl.interceptor.Command; import org.activiti.engine.impl.interceptor.CommandContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.boot.CommandLineRunner; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.PropertySource; /** * @author Dominik Bartos */ @SpringBootApplication public class Application { private static final Logger logger = LoggerFactory.getLogger(Application.class); @Bean CommandLineRunner customMybatisMapper(final ManagementService managementService) { return new CommandLineRunner() { @Override public void run(String... args) throws Exception { String processDefinitionId = managementService.executeCustomSql(new AbstractCustomSqlExecution<CustomMybatisMapper, String>(CustomMybatisMapper.class) { @Override public String execute(CustomMybatisMapper customMybatisMapper) { return customMybatisMapper.loadProcessDefinitionIdByKey("waiter"); } }); logger.info("Process definition id = {}", processDefinitionId); } }; } @Bean CommandLineRunner customMybatisXmlMapper(final ManagementService managementService) { return new CommandLineRunner() { @Override public void run(String... args) throws Exception { String processDefinitionDeploymentId = managementService.executeCommand(new Command<String>() { @Override public String execute(CommandContext commandContext) { return (String) commandContext .getDbSqlSession() .selectOne("selectProcessDefinitionDeploymentIdByKey", "waiter"); } }); logger.info("Process definition deployment id = {}", processDefinitionDeploymentId); } }; } public static void main(String args[]) { SpringApplication.run(Application.class, args); } }