配置OSWorkFlow通过Hibernate持久化

转载 2007年10月12日 09:59:00

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搞定。

 

 

OSWorkFlow流程配置文件详解

AbstractWorkflow>> osworkflow中有关工作流流转的所有核心代码都在AbstractWorkflow中,BasicWorkflow就是派生自它,不过这个BasicWorkfl...
  • lifuxiangcaohui
  • lifuxiangcaohui
  • 2014年09月04日 11:32
  • 3143

osworkflow工作流引擎学习笔记

本指导资料假定你已经部署OSWorkflow的范例应用在你的container上。范例应用部署是使用基于内存的数据存储,这样你不需要担心如何配置其他持久化的例子。范例应用的目的是为了说明如何应用OSW...
  • wacky
  • wacky
  • 2016年08月12日 10:55
  • 1863

OsWorkFlow工作流简介

OsWorkFlow工作流
  • gaowenhui2008
  • gaowenhui2008
  • 2016年04月07日 14:42
  • 1031

j2ee常用工作流比较(shart、osworkflow、jbpm)

工作流引擎   Shark(EnhydraShark) Osworkflow opensymphony Jbpm(JBoss JBPM) 工作流描述语言...
  • shadowkiss
  • shadowkiss
  • 2013年05月07日 15:14
  • 2225

osworkflow介绍例子

自己刚刚涉入工作流,也看到很多人写了很多关于工作流方面的文章,有关于osworkflow的,有关于jbpm的,还有其他什么的!总是不如自己写下自己的经历比较真实一些,这样才能问清楚自己到底懂了什么,写...
  • shuangyidehudie
  • shuangyidehudie
  • 2013年05月13日 13:17
  • 834

OsWorkFlow工作流简介

OsWorkFlow工作流简介: Osworkflow是完全用java语言编写的开放源代码的工作流引擎,具有显著的灵活性及完全面向有技术背景的用户的特点。用户可以根据自身的需求利用这款开源软件设计简...
  • niuhea
  • niuhea
  • 2013年06月23日 09:01
  • 6928

将osworkflow与spring和hibernate集成的基本介绍

1. 将osworkflow与spring和hibernate结合的原因     1)简化对osworkflow的配置     2)利用hibernate框架的一些特性,如持久化,缓存等 ...
  • Sky786905664
  • Sky786905664
  • 2017年05月04日 11:55
  • 545

osworkflow学习笔记-先把例子跑起来看看

关键字:osworkflow 入门教程,初体验,环境搭建,示例,笔记,用法。。。。。。 下载地址:https://osworkflow.dev.java.net/files/document...
  • shuangyidehudie
  • shuangyidehudie
  • 2013年05月10日 16:13
  • 796

OSWorkFlow深入浅出(2)---配置

1、配置描述 在开始编写第一个OSWorkFlow之前,我们先来看看OSWorkFlow的配置,OSWorkFlow的最基本配置有,OSWorkFlow的最基本配置有三个,第一个用来配置OSWorkF...
  • wangwenjun69
  • wangwenjun69
  • 2013年07月28日 16:01
  • 1800

Hibernate中配置文件中设置数据库信息

Hibernate中配置文件中设置数据库信息 在对数据库进行操作时,经常会遇到乱码的问题,往数据库中存入汉字时会存不进去,乱码!所以当建立所有文件时一定要统一编码,和数据库以及表的编码要一致。这里以...
  • fpxty
  • fpxty
  • 2017年04月15日 22:28
  • 633
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:配置OSWorkFlow通过Hibernate持久化
举报原因:
原因补充:

(最多只允许输入30个字)