`
pfwang
  • 浏览: 105747 次
社区版块
存档分类
最新评论

配置OSWorkFlow通过Hibernate持久化

阅读更多

1.修改WEB-INF\classes\目录下的osworkflow.xml,改为

     <persistence class="com.opensymphony.workflow.spi.hibernate.HibernateWorkflowStore">
     </persistence>

2.将下面的Hibernate.cfg.xml加到WEB-INF\classes\下面,这里使用mysql数据库。

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 2.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-2.0.dtd">
<hibernate-configuration>
<session-factory>
 <!-- properties -->
 <property name="connection.driver_class">org.gjt.mm.mysql.Driver</property>
 <property name="connection.url">jdbc:mysql://redhat:3306/osworkflow</property>
 <property name="connection.username">redhat</property>
 <property name="connection.password">redhat</property>

 <property name="dialect">net.sf.hibernate.dialect.MySQLDialect</property>
 <property name="show_sql">true</property>
 <property name="use_outer_join">true</property>

 <property name="connection.pool_size">10</property>
 <property name="statement_cache.size">25</property>

 <property name="hibernate.hbm2ddl.auto">update</property>

 <mapping resource="com/opensymphony/workflow/spi/hibernate/HibernateCurrentStep.hbm.xml"></mapping>
 <mapping resource="com/opensymphony/workflow/spi/hibernate/HibernateHistoryStep.hbm.xml"></mapping>
 <mapping resource="com/opensymphony/workflow/spi/hibernate/HibernateWorkflowEntry.hbm.xml"></mapping>
 <mapping resource="com/opensymphony/module/propertyset/hibernate/PropertySetItemImpl.hbm.xml"></mapping>

</session-factory>
</hibernate-configuration>

3.把hibernate的jar及hibernate所有要到的jar,到WEB-INF\lib\
4.OSWorkflow要求客户端提供SessionFactory,自主控制session和transaction。在容器里可以直接生成SessionFactory然后注入到workflow中。这里只是演示,所以直接修改.jsp文件,生成SessionFactory,传入workflow中。


    Workflow wf = new BasicWorkflow((String) session.getAttribute("username"));

// osworkflow和hibernate竟然都是通过Configuration类来进行配置的,没办法,谁让大家都需要进行配置而就那么几个单词呢
 com.opensymphony.workflow.config.Configuration conf = new DefaultConfiguration();

 SessionFactory sessionFactory = new net.sf.hibernate.cfg.Configuration().configure().buildSessionFactory();
 conf.getPersistenceArgs().put("sessionFactory", sessionFactory);
 wf.setConfiguration(conf);

5.OK搞定。

 

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1552535

分享到:
评论

相关推荐

    高内聚,低偶合,OSWorkflow,Hibernate 持久化层的游离状态

    总的来说,高内聚、低偶合的原则贯穿于 OSWorkflow 和 Hibernate 的设计之中,前者通过灵活的工作流组件实现流程的动态配置,后者通过对象的状态管理确保了数据的持久化一致性。这两个概念都是软件设计中不可或缺的...

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

    然后,配置osworkflow的持久化层,使用Hibernate作为其存储机制。最后,确保Spring能够管理这些bean的生命周期,以及它们之间的依赖关系。 **OSWorkflow中文版帮助文档错误纠正.doc** 可能是一个文档,记录了原英文...

    osworkflow2.8基于Spring+Hibernate

    总结,osWorkflow2.8在Spring+Hibernate环境中的整合涉及多个层面,包括配置Spring Bean、使用Hibernate进行持久化、设计服务层接口、监听工作流事件以及测试和优化。理解并掌握这些知识点,对于开发出高效、可靠且...

    Struts2+Spring+hibernate+OSworkflow framework

    这个框架的整合使得开发者能够利用Struts2处理用户请求,Spring进行依赖管理和事务控制,Hibernate管理数据持久化,而OSWorkflow则负责业务流程的控制。这样的组合在实际项目中,可以实现灵活的业务逻辑,同时保证了...

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

    `Hibernate`则是Java世界中的一个持久化框架,它简化了数据库操作,通过ORM(对象关系映射)技术实现了对象与数据库表的映射。 首先,`osworkflow`的核心功能包括工作流定义、状态转移、任务分配以及流程监控。它...

    OSWorkflow源码及电子书

    OSWorkflow支持多种持久化机制,如JDBC、Hibernate等,方便开发者根据项目需求选择合适的存储方式。 4. **事务管理**:OSWorkflow支持JTA(Java Transaction API),能够与其他事务处理系统协同工作,确保流程操作...

    OSWorkflow中文手册 OSWorkflow中文手册

    为了保证流程数据的可靠性,OSWorkflow支持多种持久化策略,如JDBC存储、Hibernate集成等,确保流程实例在系统重启后仍能恢复。 8. **用户界面与自定义** 虽然OSWorkflow本身不提供完整的用户界面,但提供了API和...

    osworkflow中文手册

    5. **持久化机制**:OSWorkflow支持多种持久化机制,如JDBC、Hibernate等,手册会解释如何配置和使用这些持久化策略。 6. **事件和监听器**:事件监听器允许开发者在特定的工作流事件发生时执行自定义逻辑,手册会...

    工作流引擎(osworkflow) 2.80

    - **持久化**:OSWorkflow 内置了持久化机制,确保流程实例在系统重启后仍能恢复。 3. **示例项目**:提供的示例项目有助于开发者快速了解如何在实际应用中使用 OSWorkflow。这些例子可能包括简单的审批流程、多...

    osworkflow 简单实例

    8. **持久化存储**:OSWorkflow 支持多种持久化机制,如 JDBC、Hibernate 等。我们需要配置合适的持久化策略,以确保数据在应用重启后仍可恢复。 9. **测试和优化**:完成上述步骤后,我们需要编写单元测试和集成...

    OSWorkflow的开发指导与指南.pdf

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

    OSWorkflow中文手册 2.8

    - **静态加载**:在应用启动时通过配置文件指定路径。 - **动态加载**:运行时通过API读取文件内容并解析。 - **混合加载**:结合静态和动态两种方式,适用于需要动态调整流程定义的场景。 #### 三、高级功能 ####...

    OSWorkflow开发指南 - 中文

    8. **持久化策略**:OSWorkflow支持多种持久化策略,包括JDBC、Hibernate和JDO。这些策略用于保存和恢复流程实例的状态,确保即使在系统重启后也能继续执行。 9. **版本控制**:OSWorkflow支持流程定义的版本控制,...

    Osworkflow 入门级例子

    6. **持久化**:Osworkflow 支持事务管理和数据持久化,确保即使系统崩溃,流程实例的状态也能被正确恢复。 在实际应用中,Osworkflow 可以与Spring、Hibernate等框架结合,提供更方便的集成方案。例如,通过Spring...

    osworkflow2.8.pdf

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

    OSWorkFlow入门

    - 配置 OSWorkflow 的核心组件,包括持久化策略(如 JDBC 或 Hibernate)、事件监听器、工作流初始化设置等。 3. **流程定义** - OSWorkflow 使用 XML 文件来定义工作流,包括步骤、状态、转移和条件。 - 每个...

    OSWorkflow中文手册V2.8

    OSWorkflow支持多种持久化机制,如JDBC、Hibernate等。选择合适的持久化方式取决于你的项目环境和需求。例如,如果你的应用已经使用了Hibernate作为ORM框架,那么将工作流状态与数据库交互可能更方便。 **3. 载入...

Global site tag (gtag.js) - Google Analytics