`

OSWorkflow 与Spring2&Hibernate3的结合

    博客分类:
  • java
阅读更多
经过一番思量,决定在项目中引入OSWorkflow,参阅了很多网上的帖子,Spring2的结合比较容易解决,只要在spring的bean定义时使用的类正确就行了。但是对于Hibernate3,尝试了很多方法都没有搞定,貌似要完全的结合还需要写一些代码。于是退而求其次,仅仅做到让OSWorkflow 使用Spring定义的datasource就行了。省去在JNDI上另外再定义一个datasource的麻烦,并且减少数据库连接的开销。

具体做法:
1. 声明一个Store类
public class EtSpringMySQLWorkflowStore extends MySQLWorkflowStore implements ApplicationContextAware {
	private static ApplicationContext applicationContext; 

	public EtSpringMySQLWorkflowStore() {
		
	}
	public void init(Map props) throws StoreException {
        super.init(props);
        String springDataSource = (String) props.get("spring.datasource");
        ds=(DataSource)getApplicationContext().getBean(springDataSource);
    }
	public static ApplicationContext getApplicationContext() {
		return applicationContext;
	}
	public void setApplicationContext(ApplicationContext applicationContext) {
		EtSpringMySQLWorkflowStore.applicationContext = applicationContext;
	}
	
}


2. 在osworkflow.xml中如下定义store:
<persistence class="com.xxx.workflow.EtSpringMySQLWorkflowStore">
	<property key="spring.datasource" value="dataSource"/>  


3. OSWorkflow的使用与普通方式一样:
				// 创建工作流实例
				Map<String, Object> transientVars = new HashMap<String, Object>();
				transientVars.put(ServletContext.class.getName(),
						this.servletContext);
				Workflow wf = new BasicWorkflow("");
//				Workflow wf=(Workflow)getBean("workflow");
				try {
					long wfid = wf.initialize("exchange", 100, null);
					wf.getPropertySet(wfid).setString("modelName",getText("exchange"));
					wf.getPropertySet(wfid).setInt("modelId",
							model.getExchangeId().intValue());
					wf.doAction(wfid, 1, transientVars);
				} catch (Exception e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				} 
分享到:
评论
1 楼 casheen 2009-04-02  

相关推荐

    osworkflow2.8基于Spring+Hibernate

    在Java应用中,osworkflow常常与Spring和Hibernate这两个主流的框架结合使用,以实现业务流程的自动化处理。本篇文章将深入探讨如何在Spring和Hibernate的环境下集成osworkflow2.8,以及在此基础上实现高效的工作流...

    osworkflow + spring + hibernate 实例,可运行!!

    在IT行业中,工作流管理系统是实现企业业务流程自动化的重要工具,而`osworkflow`、`Spring`和`Hibernate`这三者结合的应用则为构建高效、灵活的工作流系统提供了强大的支持。`osworkflow`是一个开源的工作流引擎,...

    osworkflow中文入门指南,osworkflow+hibernate+spring集成配置,osworkflow-2.8.0.jar

    在本入门指南中,我们将深入探讨如何使用osworkflow,并将其与流行的数据持久化框架Hibernate和依赖注入容器Spring进行集成。 **工作流管理系统** 是一种软件工具,它允许开发者定义、执行和管理业务流程。...

    spring+hibernate+osworkflow

    spring+hibernate+osworkflow,服务器为Tomcat6.0,数据库为Mysql 把viewlivegraph2.jsp改为viewlivegraph.jsp. 其中把wf的获得修改为 ApplicationContext cxt = WebApplicationContextUtils.get...

    Struts2+Spring+hibernate+OSworkflow framework

    Struts2+Spring+Hibernate+OSWorkflow框架是一个广泛使用的Java Web开发组合,它结合了四个强大的技术来构建高效、可扩展且易于维护的企业级应用程序。下面将分别介绍这四个技术及其在项目中的应用。 1. **Struts2*...

    Osworkflow 入门级例子

    在实际应用中,Osworkflow 可以与Spring、Hibernate等框架结合,提供更方便的集成方案。例如,通过Spring的AOP(面向切面编程)可以自动处理任务的生命周期,而Hibernate则可以用于存储流程实例和历史数据。 总结...

    OSWorkflow的开发指导与指南.pdf

    - SpringHibernateWorkflowStore结合了Spring和Hibernate框架,利用Hibernate进行数据持久化。 4. 工作流核心概念 - OSWorkflow中定义了工作流的各种状态,如os_currentstep、os_historystep、os_wfentry等,它们...

    《OSWorkflow开发指南》电子版

    1. **易于集成**:OSWorkflow设计之初就考虑到了与现有系统的兼容性问题,能够方便地与Spring、Hibernate等框架结合使用。 2. **灵活性高**:用户可以根据需要自定义工作流的状态转换逻辑、动作和条件判断。 3. **轻...

    OSWorkFlow入门指南及其中文手册.zip

    5. **集成应用示例**:可能包含如何将OSWorkFlow与Spring、Hibernate等常见框架集成的示例。 6. **异常处理**:处理工作流运行过程中的错误和异常,提供恢复策略。 通过学习这两份资料,开发者不仅可以掌握...

    OSWorkflow中文手册 OSWorkflow中文手册

    2. **OSWorkflow核心概念** - **流程定义**:定义了工作流的各个步骤和转换规则,包括活动(Activities)、决策(Decisions)和事件(Events)。 - **流程实例**:基于流程定义创建的具体实例,每个实例代表一个...

    OSWORKFlow流程开发教程

    - **SpringHibernateWorkflowStore**:结合Spring和Hibernate,提供更高级的事务管理和性能优化。 - **JDBCTemplateWorkflowStore**:利用Spring的JdbcTemplate简化JDBC操作。 - **HibernateWorkflowStore**:直接...

    osworkflow2.8

    由于其基于 Java,OSWorkflow 可以轻松地与Spring、Hibernate等Java框架集成,也可以与Web服务、EJB等企业级技术配合使用。 8. **版本更新与社区支持** "2.8" 版本是OSWorkflow的一个稳定版本,但随着技术的发展...

    osworkflow2.8.pdf

    - **Spring Hibernate 存储**:利用 Spring 和 Hibernate 技术进行持久化操作。 - **JDBC 模板存储**:使用 JDBC 模板简化数据库操作。 - **Hibernate 存储**:直接使用 Hibernate 进行对象关系映射。 #### 四、...

    工作流 osworkflow 例子和原理

    此外,OSWorkflow与各种应用程序集成良好,可以轻松地与Spring、Hibernate等框架结合,实现业务逻辑和数据持久化。 在实际开发中,我们可以通过以下步骤使用OSWorkflow: 1. 配置工作流定义:编写XML文件,定义...

    OSWorkflow中文手册 2.8

    - **其他依赖库**:比如Spring框架或Hibernate等,如果项目中有使用到的话。 ##### 2. 运行示例 为了更好地理解如何使用OSWorkflow,可以参考官方提供的示例代码。这些示例通常会涵盖从环境搭建到流程设计的完整...

    工作流引擎(osworkflow) 2.80

    OSWorkflow 是一款基于 Java 的工作流引擎,能够与各种Java应用程序集成,如Java EE 应用服务器或Spring框架。 2. **OSWorkflow 特性**: - **流程定义**:OSWorkflow 支持XML格式的流程定义,允许开发者以直观的...

    osworkflow 开发指南

    - **OSWorkflow可选包**:用于增强特定功能的扩展包,如与Spring或Hibernate集成的包。 - **与Spring和Hibernate的集成**: - **与Spring联用所需包**:提供Spring容器管理OSWorkflow所需的配置文件和依赖包。 - ...

Global site tag (gtag.js) - Google Analytics