package jbpmtest;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import org.jbpm.test.JBPMHelper;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.kie.api.KieBase;
import org.kie.api.KieServices;
import org.kie.api.runtime.KieContainer;
import org.kie.api.runtime.KieSession;
import org.kie.api.runtime.manager.RuntimeEngine;
import org.kie.api.runtime.manager.RuntimeEnvironmentBuilder;
import org.kie.api.runtime.manager.RuntimeManager;
import org.kie.api.runtime.manager.RuntimeManagerFactory;
import org.kie.api.task.TaskService;
import org.kie.api.task.model.TaskSummary;
import org.kie.internal.io.ResourceFactory;
import org.kie.internal.utils.KieHelper;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
/*import bitronix.tm.resource.jdbc.PoolingDataSource;*/
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration (locations = {"classpath:/applicationContext.xml"})
public class ProcessMain2 {
/* private static PoolingDataSource ds;
private static EntityManagerFactory emf;
@Before
public void setup() {
ds = setupDataSource();
Map configOverrides = new HashMap();
configOverrides.put("hibernate.hbm2ddl.auto", "create");
configOverrides.put("hibernate.dialect", "org.hibernate.dialect.MySQL5InnoDBDialect");
// emf = Persistence.createEntityManagerFactory("org.jbpm.persistence.jpa", configOverrides);
emf = Persistence.createEntityManagerFactory("dataSourceTest", configOverrides);
}
@After
public void teardown() {
if (ds != null) {
ds.close();
}
}
@Test
public void testProcess() {
KieHelper kieHelper = new KieHelper();
KieBase kieBase = kieHelper
.addResource(ResourceFactory.newClassPathResource("sample.bpmn"))
.build();
KieServices ks = KieServices.Factory.get();
KieContainer kContainer = ks.getKieClasspathContainer();
KieBase kieBase = kContainer.getKieBase("kbase");
RuntimeManager manager = createRuntimeManager(kieBase);
RuntimeEngine engine = manager.getRuntimeEngine(null);
KieSession ksession = engine.getKieSession();
TaskService taskService = engine.getTaskService();
ksession.startProcess("com.sample.bpmn.hello");
// let john execute Task 1
List<TaskSummary> list = taskService.getTasksAssignedAsPotentialOwner("john", "en-UK");
TaskSummary task = list.get(0);
System.out.println("1John is executing task " + task.getName());
taskService.start(task.getId(), "john");
taskService.complete(task.getId(), "john", null);
// let mary execute Task 2
list = taskService.getTasksAssignedAsPotentialOwner("mary", "en-UK");
task = list.get(0);
System.out.println("2Mary is executing task " + task.getName());
taskService.start(task.getId(), "mary");
taskService.complete(task.getId(), "mary", null);
manager.disposeRuntimeEngine(engine);
System.exit(0);
}
private static RuntimeManager createRuntimeManager(KieBase kbase) {
//JBPMHelper.startH2Server();
// JBPMHelper.setupDataSource();
Map configOverrides = new HashMap();
configOverrides.put("hibernate.hbm2ddl.auto", "create");
configOverrides.put("hibernate.dialect", "org.hibernate.dialect.MySQL5InnoDBDialect");
EntityManagerFactory emf = Persistence.createEntityManagerFactory("org.jbpm.persistence.jpa",configOverrides);
RuntimeEnvironmentBuilder builder = RuntimeEnvironmentBuilder.Factory.get()
.newDefaultBuilder().entityManagerFactory(emf)
.knowledgeBase(kbase);
return RuntimeManagerFactory.Factory.get()
.newSingletonRuntimeManager(builder.get(), "com.sample:example:1.0");
}
public static PoolingDataSource setupDataSource() {
// Please edit here when you want to use your database
PoolingDataSource pds = new PoolingDataSource();
//pds.setUniqueName("dataSourceTest");
pds.setUniqueName("jdbc/jbpm-ds");
// pds.setUniqueName("org.jbpm.persistence.jpa");
pds.setClassName("bitronix.tm.resource.jdbc.lrc.LrcXADataSource");
pds.setMaxPoolSize(5);
pds.setAllowLocalTransactions(true);
pds.getDriverProperties().put("user", "root");
pds.getDriverProperties().put("password", "chen123456");
pds.getDriverProperties().put("url", "jdbc:mysql://localhost:3306/jbpm7test04");
pds.getDriverProperties().put("driverClassName", "com.mysql.jdbc.Driver");
pds.init();
return pds;
}
*/
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
HelloSpringMVC(springmvc带log可运行的三页面跳转).rar (37个子文件)
HelloSpringMVC
.project 1KB
pom.xml 5KB
.tern-project 162B
target
test-classes
jbpmtest
ProcessMain2.class 547B
maven-status
maven-compiler-plugin
compile
default-compile
createdFiles.lst 0B
inputFiles.lst 170B
classes
META-INF
maven
pom.properties 78B
kmodule.xml 89B
com
springmvc
core
controller
HelloController.class 2KB
service
util
log4j.xml 2KB
spring-mvc-servlet.xml 2KB
applicationContext.xml 2KB
sample.bpmn 19KB
persistence.xml 5KB
.settings
.jsdtscope 639B
org.eclipse.wst.common.component 772B
org.eclipse.wst.validation.prefs 50B
org.eclipse.jdt.core.prefs 736B
org.eclipse.wst.common.project.facet.core.xml 252B
org.eclipse.ltk.core.refactoring.prefs 106B
org.eclipse.wst.jsdt.ui.superType.container 49B
org.eclipse.m2e.core.prefs 90B
org.eclipse.wst.jsdt.ui.superType.name 6B
src
test
resources
java
jbpmtest
ProcessMain2.java 5KB
main
resources
META-INF
maven
pom.properties 78B
kmodule.xml 89B
log4j.xml 2KB
spring-mvc-servlet.xml 2KB
applicationContext.xml 2KB
sample.bpmn 19KB
persistence.xml 5KB
java
com
springmvc
core
controller
HelloController.java 2KB
service
util
webapp
WEB-INF
view
two.jsp 908B
helloWorld.jsp 1019B
web.xml 3KB
assets
index.jsp 702B
.classpath 2KB
共 37 条
- 1
资源评论
fengcai0123
- 粉丝: 48
- 资源: 15
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功