`

JBPM5 配置得到两个Session和一些配置参考信息

 
阅读更多
配置得到StatefulKnowledgeSession
package com.v0610.basic.jbpm.example;

import org.drools.runtime.StatefulKnowledgeSession;

public class MyObject {
	private StatefulKnowledgeSession ksession;

	public void setSession(StatefulKnowledgeSession ksession) {
		this.ksession = ksession;
	}

	public void doSomething() {
		System.out.println("YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY");
		ksession.startProcess("com.v0610.basic.temp.helloworld");
	}
}

<?xml version="1.0" encoding="UTF-8"?>
<beans  xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	    xmlns:aop="http://www.springframework.org/schema/aop"
	    xmlns:tx="http://www.springframework.org/schema/tx"
        xmlns:context="http://www.springframework.org/schema/context"
        xmlns:mvc="http://www.springframework.org/schema/mvc"
        xmlns:jbpm="http://drools.org/schema/drools-spring"
        xmlns:cxf="http://camel.apache.org/schema/cxf"
        xmlns:jaxrs="http://cxf.apache.org/jaxrs"
        xsi:schemaLocation="http://www.springframework.org/schema/beans 
           http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
           http://www.springframework.org/schema/context
           http://www.springframework.org/schema/context/spring-context-3.0.xsd  
           http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
           http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
           http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd
           http://drools.org/schema/drools-spring http://anonsvn.jboss.org/repos/labs/labs/jbossrules/trunk/drools-container/drools-spring/src/main/resources/org/drools/container/spring/drools-spring.xsd
           http://camel.apache.org/schema/cxf http://camel.apache.org/schema/cxf/camel-cxf.xsd
       	   http://cxf.apache.org/jaxrs http://cxf.apache.org/schemas/jaxrs.xsd
           http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">
           
	<jbpm:kbase id="kbase">
	    <jbpm:resources>
	    	<jbpm:resource type="BPMN2" source="classpath:helloworld.bpmn"/>
	    </jbpm:resources>
  	</jbpm:kbase>
  	<jbpm:ksession id="ksession" type="stateful" kbase="kbase" />
  	
  	<bean id="myObject" class="com.v0610.basic.jbpm.example.MyObject">
  		<property name="session" ref="ksession" />
	</bean>
</beans>


配置得到TaskServiceSession
@PostConstruct
	public void init() {
		System.out.println("初始化Service类[JbpmSupport]------------------------------------------------------------------------.");
		// 为 ksession 设置log
		new JPAWorkingMemoryDbLogger(ksession);
		new JPAProcessInstanceDbLog(ksession.getEnvironment());

		// 创建 local human service 及其 handler
		org.jbpm.task.service.TaskService tService = new org.jbpm.task.service.TaskService(entityManagerFactory,
				SystemEventListenerFactory.getSystemEventListener());
		taskServiceSession = tService.createSession();
		// TODO 事务该如何设置?
		// taskServiceSession.setTransactionType("RESOURCE_LOCAL");
		SyncWSHumanTaskHandler humanTaskHandler = new SyncWSHumanTaskHandler(new LocalTaskService(taskServiceSession),
				ksession);
		humanTaskHandler.setLocal(true);
		humanTaskHandler.connect();
		ksession.getWorkItemManager().registerWorkItemHandler("Human Task", humanTaskHandler);

		// set user group callback
		System.setProperty("jbpm.usergroup.callback", "org.jbpm.task.service.DefaultUserGroupCallbackImpl");
	}
public TaskService getTaskService() {
		return new LocalTaskService(taskServiceSession);
	}


一些配置参考信息
jbpm5-spring-jta-beans.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"
	    xmlns:aop="http://www.springframework.org/schema/aop"
	    xmlns:tx="http://www.springframework.org/schema/tx"
        xmlns:context="http://www.springframework.org/schema/context"
        xmlns:mvc="http://www.springframework.org/schema/mvc"
        xmlns:jbpm="http://drools.org/schema/drools-spring"
        xmlns:cxf="http://camel.apache.org/schema/cxf"
        xmlns:jaxrs="http://cxf.apache.org/jaxrs"
        xsi:schemaLocation="http://www.springframework.org/schema/beans 
           http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
           http://www.springframework.org/schema/context
           http://www.springframework.org/schema/context/spring-context-3.0.xsd  
           http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
           http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
           http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd
           http://drools.org/schema/drools-spring http://anonsvn.jboss.org/repos/labs/labs/jbossrules/trunk/drools-container/drools-spring/src/main/resources/org/drools/container/spring/drools-spring.xsd
           http://camel.apache.org/schema/cxf http://camel.apache.org/schema/cxf/camel-cxf.xsd
       	   http://cxf.apache.org/jaxrs http://cxf.apache.org/schemas/jaxrs.xsd
           http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">
           
	<bean id="jbpmEMF"
	class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
		<property name="persistenceUnitName" value="org.jbpm.persistence.jta" />
	</bean>

	 <bean id="btmConfig" factory-method="getConfiguration" class="bitronix.tm.TransactionManagerServices"></bean>

  <bean id="BitronixTransactionManager" factory-method="getTransactionManager"
        class="bitronix.tm.TransactionManagerServices" depends-on="btmConfig" destroy-method="shutdown" />

  <bean id="jbpmTxManager" class="org.springframework.transaction.jta.JtaTransactionManager">
    <property name="transactionManager" ref="BitronixTransactionManager" />
    <property name="userTransaction" ref="BitronixTransactionManager" />
  </bean>

	<jbpm:kbase id="kbase2">
		<jbpm:resources>
			<jbpm:resource type="BPMN2" source="classpath:helloworld.bpmn" />
		</jbpm:resources>
	</jbpm:kbase>

	<jbpm:ksession id="ksession2" type="stateful" kbase="kbase2">
		<jbpm:configuration>
			<jbpm:jpa-persistence>
				<jbpm:transaction-manager ref="jbpmTxManager" />
				<jbpm:entity-manager-factory ref="jbpmEMF" />
			</jbpm:jpa-persistence>
		</jbpm:configuration>
	</jbpm:ksession>
	
</beans>


jbpm5-beans.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"
	    xmlns:aop="http://www.springframework.org/schema/aop"
	    xmlns:tx="http://www.springframework.org/schema/tx"
        xmlns:context="http://www.springframework.org/schema/context"
        xmlns:mvc="http://www.springframework.org/schema/mvc"
        xmlns:kb="http://drools.org/schema/drools-spring"
        xmlns:cxf="http://camel.apache.org/schema/cxf"
        xmlns:jaxrs="http://cxf.apache.org/jaxrs"
        xsi:schemaLocation="http://www.springframework.org/schema/beans 
           http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
           http://www.springframework.org/schema/context
           http://www.springframework.org/schema/context/spring-context-3.0.xsd  
           http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
           http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
           http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd
           http://drools.org/schema/drools-spring http://anonsvn.jboss.org/repos/labs/labs/jbossrules/trunk/drools-container/drools-spring/src/main/resources/org/drools/container/spring/drools-spring.xsd
           http://camel.apache.org/schema/cxf http://camel.apache.org/schema/cxf/camel-cxf.xsd
       	   http://cxf.apache.org/jaxrs http://cxf.apache.org/schemas/jaxrs.xsd
           http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">
           
	<!-- jBPM Knowledge Related Config  -->	
  	<kb:grid-node id="node1"/>
 	<kb:kbase id="kbase1" node="node1">
   		<kb:resources>
     			<kb:resource type="BPMN2" source="classpath:helloworld.bpmn"/>
	    </kb:resources>
	</kb:kbase>
  	<kb:ksession id="ksession1" type="stateless" kbase="kbase1" node="node1"/>
 	
	<!-- Camel Config --> 
	<import resource="classpath:META-INF/cxf/cxf.xml" />
	<import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
	
	<cxf:rsServer id="rsServer" address="/rest" serviceClass="org.drools.jax.rs.CommandExecutorImpl">
   		<cxf:providers>
       		<bean class="org.drools.jax.rs.CommandMessageBodyReader"/>
   		</cxf:providers>
	</cxf:rsServer>
	<cxf:cxfEndpoint id="soapServer" 
					address="/soap" 
					serviceName="ns:AttachmentWsService"
             		endpointName="ns:AttachmentWsServicePort" 
             		wsdlURL="wsdl/attachment.wsdl"
          	 		xmlns:ns="http://ws.basic.v0610.com" >
	   	<cxf:properties>
     		<entry key="dataFormat" value="MESSAGE"/>
     		<entry key="defaultOperationName" value="execute"/>
	   	</cxf:properties>
	</cxf:cxfEndpoint>
  		
 	<bean id="kbPolicy" class="org.drools.camel.component.DroolsPolicy" />
	<camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">
   		<route>
    		<from uri="cxfrs://bean://rsServer"/>
    		<policy ref="kbPolicy">
      			<unmarshal ref="xstream" />
      			<to uri="drools:node1/ksession1" />
       			<marshal ref="xstream" />
    		</policy>
   		</route>
   		<route>
    		<from uri="cxf://bean://soapServer"/>
     		<policy ref="kbPolicy">
       			<unmarshal ref="xstream" />
       			<to uri="drools:node1/ksession1" />
       			<marshal ref="xstream" />
   			</policy>
   		</route>
 	</camelContext>
</beans>
分享到:
评论

相关推荐

    jbpm5环境配置、中文文档

    **jbpm5环境配置** jbpm5是一款开源的工作流管理系统,它提供...总之,jbpm5是一个功能强大的工作流管理系统,通过合理的环境配置和深入理解其用户手册,开发者能够有效地利用jbpm5来设计、实施和管理复杂的业务流程。

    jbpm核心配置文件

    本篇文章将深入解析jbpm中的两个主要配置文件:jbpm.hibernate.cfg.xml和jbpm.cfg.xml。 首先,我们来看`jbpm.hibernate.cfg.xml`文件。这个名字表明它是与Hibernate ORM(对象关系映射)相关的配置,Hibernate是...

    jbpm4jbpm5

    jbpm4jbpm5是关于jbpm流程管理框架的专题,涵盖了jbpm4和jbpm5两个主要版本。jbpm是一个开源的工作流管理系统,用于帮助开发者实现业务流程自动化。以下是基于给定文件的信息,深入解析jbpm4和jbpm5的知识点: 1. *...

    jbpm5环境配置-myeclipse

    jbpm5环境配置-myeclipsev

    jbpm+spring配置

    2. **配置jbpm数据源**:jbpm需要一个数据库来存储流程实例、任务等信息。在Spring中,你需要配置一个数据源,并确保jbpm能使用这个数据源。这可以通过Spring的`DataSource`bean来完成。 3. **创建jbpm的工作空间和...

    MyEclipse 10 JBPM 配置

    在MyEclipse 10的安装目录下创建一个名为myPlugins的新文件夹,然后将JBPM安装目录下的`eclipse/features`和`plugins`两个文件夹复制到myPlugins文件夹中。 ### 第七步:配置MyEclipse插件链接 在MyEclipse的`...

    jbpm5环境配置

    在`install.home/lib`中找到jbpm-5.1.0.Final-gwt-console.zip,解压后得到两个war文件,分别部署到JBoss。在部署前,可能需要创建数据库表空间和用户,例如创建名为JBPM的表空间和jbpm5用户,并赋予相应的权限。...

    JBPM5基于tomcat web的应用

    4. **部署jbpm-service.war和jbpm-console.war**:除了主应用外,JBPM5还包含两个重要组件:jbpm-service.war提供服务接口,jbpm-console.war是Web管理控制台。确保这两个war文件也部署到Tomcat。 5. **启动和测试*...

    经典的配置好的jbpm实例

    2. 解压实例:将下载的压缩包解压,获取jbpm的相关文件和配置。 3. 部署到Tomcat:将jbpm的war文件复制到Tomcat的webapps目录下,启动Tomcat,jbpm实例将自动部署。 4. 配置数据源:根据实际情况配置jbpm的数据源...

    jbpm4.1和jbpm5开发手册

    jbpm4.1和jbPM5是两个不同版本的Java Business Process Management(业务流程管理)框架,主要用于构建和管理业务流程。jbPM是Talend公司的一个开源项目,它提供了全面的工作流和业务流程管理解决方案,深受Java...

    jbpm5安装、配置、示例入门

    ### JBPM5 安装与配置详解 #### 一、JBPM5简介 JBPM (JBoss Business Process Management) 是一款开源的工作流引擎,用于构建业务流程自动化应用。JBPM5是JBPM的一个重要版本,提供了更为强大的工作流管理功能,...

    jBPM4入门基础环境配置

    jBPM(Java Business Process Management)是一个开源的工作流管理系统,主要用于处理业务流程的建模、部署、执行和监控。jBPM4是其第四个主要版本,它提供了丰富的功能,包括流程定义、工作流引擎、事件处理、规则...

    jbpm5安装DEMO

    ### jBPM5安装与配置详解 #### 一、引言 jBPM5是一款开源的工作流和业务流程管理(BPM)框架,基于Java语言,由JBoss提供支持。它提供了一套全面的工具和服务,用于设计、执行和监控业务流程。本文将详细介绍jBPM5...

    jbpm配置心得体会(结合各种数据库)

    ### jBPM配置心得与多种数据库环境搭建详解 #### 一、环境介绍及软件准备 在本篇文章中,我们将深入探讨如何在特定环境下配置JBPM工作流引擎,并使其与多种数据库(MySQL、Oracle等)兼容。为了更好地理解配置过程...

    JBPM5 使用手册

    3. **配置文件调整**:根据实际情况调整JBPM5的配置文件,例如数据库连接信息、日志级别等。 4. **启动与验证**:启动JBPM5服务,并通过提供的控制台或命令行工具验证是否安装成功。 #### 三、流程设计 在JBPM5中...

    JBPM5 完全例子(完全配置)

    JBPM5 完全例子(完全配置)

    jBPM4实战系列(二)jBPM4.4+ssh 整合配置及完整实例

    描述中提到“这个实例中用到的2张库表”,暗示了在实施jBPM4与SSH整合的过程中,至少会涉及到两个数据库表的创建和操作。博文链接提供了进一步的参考信息,但具体内容不在当前提供的信息范围内。通常,这种整合可能...

    JBPM5 整合Spring3经典案例

    - **依赖注入**:通过Spring的DI,可以将JBPM的相关组件(如流程引擎、任务服务等)注入到Spring容器中,便于管理和配置。 - **事务管理**:Spring的事务管理器可以与JBPM的事务管理相结合,确保流程操作的原子性和...

    JBPM5入门学习.doc

    JBPM(Java Business Process Management)是一个开源的业务流程管理框架,旨在为开发者提供一个简单、灵活且可扩展的平台来设计、执行和管理业务流程。它的主要特点是轻量级和易于集成到现有的应用程序中。 **1.2 ...

Global site tag (gtag.js) - Google Analytics