`
小开ye
  • 浏览: 120207 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

JBPM4.0CR1和Spring的整合

阅读更多
前两天看到JBPM4.0c出CR1了,为之兴奋,马上下载了下来,直到这会才算整合成功,发布成功了流程。

跟了四个版本,发现自己还是没有完全理解JBPM,所以之前的整合都是野派路子。今天下午看到ronghao写的《jBPM4与Spring的集成》,以及参考http://www.slideshare.net/guest8d4bce/spring-integration-with-jbpm4,终于完美整合成功了。

其实jbpm的很多信息,都是通过jbpm.cfg.xml文件设置的,之前我整合的时候是不要这个文件的,所以总是发现很多地方不通畅。

当然有些地方还是根据自己的需要,修改了源代码,这个倒也不是很重要。把用到的配置文件贴出来,供大家参考。

beans
	<bean id="environmentFactory" class="org.jbpm.pvm.internal.cfg.SpringConfiguration">
		<constructor-arg value="config/jbpm.cfg.xml" />
	</bean>

	<bean id="processEngine" factory-bean="environmentFactory" factory-method="buildProcessEngine" />  
    
    <bean id="repositoryService" factory-bean="processEngine" factory-method="getRepositoryService" />  
    
    <bean id="executionService" factory-bean="processEngine" factory-method="getExecutionService" />  

	<bean id="historyService" factory-bean="processEngine" factory-method="getHistoryService" />
	
	<bean id="managementService"  factory-bean="processEngine" factory-method="getManagementService" />

	<bean id="identityService" factory-bean="processEngine" factory-method="getIdentityService" />
	
	<bean id="taskService" factory-bean="processEngine" factory-method="getTaskService" />

config/jbpm.cfg.xml
<jbpm-configuration>
	<process-engine-context>
		<repository-service />
		<repository-cache />
		<execution-service />
		<history-service />
		<management-service />
		<identity-service />
		<task-service />
		<command-service>
			<retry-interceptor />
			<environment-interceptor />
			<spring-transaction-interceptor
				current="true" />
		</command-service>

		<deployer-manager>
			<jpdl-deployer />
		</deployer-manager>

		<script-manager default-expression-language="juel"
			default-script-language="juel" read-contexts="execution, environment, process-engine"
			write-context="">
			<script-language name="juel"
				factory="org.jbpm.pvm.internal.script.JuelScriptEngineFactory" />
		</script-manager>

		<authentication />

		<id-generator />
		<types resource="jbpm.variable.types.xml" />
	</process-engine-context>

	<transaction-context>
		<repository-session />
		<db-session />
		<message-session />
		<timer-session />
		<history-session />
		<hibernate-session current="true" />
	</transaction-context>
</jbpm-configuration>
分享到:
评论
7 楼 pxjianke 2009-12-24  
事务怎么加?其它的事务如果也加成这个就会报错。
6 楼 kjj 2009-07-28  
谢谢博主,果然是没有配置事务管理的原因!!!
5 楼 小开ye 2009-07-27  
No existing transaction found for transaction marked with propagation 'mandatory' 

应该是缺少事务管理吧。
4 楼 kjj 2009-07-25  
完全照抄你的配置,结果发布流程出现下面异常

    
                       -[org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:253)]-2009-07-25 13:42:36,281
org.springframework.transaction.IllegalTransactionStateException: No existing transaction found for transaction marked with propagation 'mandatory'
	at org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:363)
	at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:125)
	at org.jbpm.pvm.internal.tx.SpringTransactionInterceptor.execute(SpringTransactionInterceptor.java:79)
	at org.jbpm.pvm.internal.svc.EnvironmentInterceptor.execute(EnvironmentInterceptor.java:54)
	at org.jbpm.pvm.internal.svc.RetryInterceptor.execute(RetryInterceptor.java:55)
	at org.jbpm.pvm.internal.repository.DeploymentImpl.deploy(DeploymentImpl.java:89)
	at org.jackysoft.bpm.controller.Login.login(Login.java:28)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.doInvokeMethod(HandlerMethodInvoker.java:421)
	at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:136)
	at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:326)
	at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:313)
	at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:875)
	at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:807)
	at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571)
	at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:501)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:627)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:875)
	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
	at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
	at java.lang.Thread.run(Thread.java:619)
3 楼 小开ye 2009-07-02  
暂时没有使用到job哦。
2 楼 lovexiu111 2009-07-01  
我QQ279316280,欢迎交流
1 楼 lovexiu111 2009-07-01  
你这样整合的时候,jobexecution能用吗?

相关推荐

    jbpm4.0实例(整合spring2.5+ext3.0+hibernate)

    jbpm4.0实例(整合spring2.5+ext3.0+hibernate)

    JBPM采购申请系统——20_JBPM4.0使用及特性.7z

    JBPM采购申请系统——20_JBPM4.0使用及特性.7z JBPM采购申请系统——20_JBPM4.0使用及特性.7z JBPM采购申请系统——20_JBPM4.0使用及特性.7z JBPM采购申请系统——20_JBPM4.0使用及特性.7z JBPM采购申请系统——20_...

    JBPM采购申请系统——21_JBPM4.0与JBPM3.0差异(一).7z

    JBPM采购申请系统——21_JBPM4.0与JBPM3.0差异(一).7z JBPM采购申请系统——21_JBPM4.0与JBPM3.0差异(一).7z JBPM采购申请系统——21_JBPM4.0与JBPM3.0差异(一).7z JBPM采购申请系统——21_JBPM4.0与JBPM3.0差异(一)...

    JBPM采购申请系统——22_JBPM4.0与JBPM3.0差异(二).7z

    JBPM采购申请系统——22_JBPM4.0与JBPM3.0差异(二).7z JBPM采购申请系统——22_JBPM4.0与JBPM3.0差异(二).7z JBPM采购申请系统——22_JBPM4.0与JBPM3.0差异(二).7z JBPM采购申请系统——22_JBPM4.0与JBPM3.0差异(二)...

    jbpm4.0+ext3.0+spring+hibernate整合实例

    将jbpm4.0、EXT3.0、Spring和Hibernate整合在一起,可以构建出一个功能强大的业务流程管理系统。Spring作为整体架构的胶水,管理各组件的生命周期;Hibernate负责数据持久化,处理与数据库的交互;jbpm4.0则处理业务...

    jBPM4.0用户指南

    3. **扩展性和定制化**:jBPM4.0通过插件机制和API接口,支持高度的扩展性和定制化能力,可以根据具体需求开发自定义组件和行为。 四、jBPM4.0的应用场景 jBPM4.0适用于各种业务场景,从简单的审批流程到复杂的...

    jbpm4.0用户指南(中文版)

    总结来说,"jbpm4.0用户指南(中文版)"是学习和使用jbPM4.0进行流程管理的重要参考资料,它涵盖了jbPM4.0的所有核心特性和实际操作,适合初学者和有经验的开发者阅读,有助于提高工作效率和流程管理水平。

    jbpm4.0 介绍与应用 第一课

    2. **集成性**:作为Java EE的一部分,jbpm4.0可以轻松集成到Spring、Hibernate等主流框架中,便于构建完整的应用程序。 3. **可视化**:jbpm4.0提供了强大的工作流设计器,通过图形化界面可以直观地创建和编辑流程...

    jBPM 4.0开发手册

    jBPM 4.0开发手册 J2EE企业级应用开发必备

    jbpm4.0工作流引擎中文版

    jbpm4.0工作流引擎中文版 新的出来了 悄悄的 悄悄的

    Myeclipse优化JBPM4.0配置.docx

    Myeclipse优化JBPM4.0配置 MyEclipse是一个流行的集成开发环境(IDE),它可以与JBPM4.0集成,以实现业务流程管理。...通过本文的指导,可以快速地在MyEclipse中安装和配置JBPM4.0,实现业务流程管理的自动化。

    jbpm4.0三个例子

    【jbpm4.0三个例子】是关于jbpm4版本的工作流管理系统实例的分享,主要在MyEclipse 7.5和Eclipse 3.42环境下运行。jbpm(Java Business Process Management)是一个开源的工作流和业务流程管理平台,它提供了一套...

    JBPM4.0经典实例

    【JBPM4.0经典实例】是一个以JBPM4.0为核心技术的毕业设计管理系统,该系统涵盖了两个关键的工作流程,即毕业设计选题出题流程和毕业设计提交流程。JBPM(Java Business Process Management)是一款开源的工作流管理...

    JBPM4.0用户指南

    3. **持久化机制**:JBPM4.0引入了基于Hibernate的持久化层,确保流程实例和相关数据能够在数据库中持久化存储,即使系统重启,也能恢复到之前的执行状态。 4. **任务管理**:JBPM提供了任务服务,允许用户分配、...

    jbpm4.0 中文手册-开发者指南

    jbpm4.0是Business Process Management (BPM)框架的一个早期版本,专为开发者提供了一套全面的工具和API来设计、执行和管理业务流程。本手册作为开发者指南,将深入探讨jbpm4.0的核心功能和使用方法,帮助开发者理解...

    jBPM4.0.rar_jbpm

    在Java开发环境中,jbPM 4.0可以无缝集成到Spring、EJB等架构中,为企业应用提供灵活的工作流解决方案。开发者可以通过API、DSL(Domain Specific Language)或者可视化工具来设计和管理流程。jbPM的灵活性和强大...

    jbpm4.3与spring整合

    ### jbpm4.3与Spring框架的整合指南 在企业级应用开发中,流程管理引擎JBPM(JBoss Business Process Management)与Spring框架的结合使用是常见的一种技术方案。JBPM是一个灵活、强大的业务流程管理工具,而Spring...

    Myeclipse优化JBPM4.0配置

    在Myeclipse环境下进行JBPM4.0的配置,涉及到多个组件的协同工作,包括但不限于JDK、Tomcat、MyEclipse、JBPM4核心库、Jboss、Drools、Struts2、Spring、Hibernate和MySQL数据库等。这些组件共同构成了一个复杂但...

    JBPM4.0源码以及分析

    在JBPM4.0版本中,系统的核心是Process Virtual Machine(PVM)和Job Process Definition Language(JPDL),这两个组件构成了JBPM的核心框架,使得开发者能够方便地定义、执行和监控业务流程。 **1. Process ...

Global site tag (gtag.js) - Google Analytics