osworkflow与spring的集成
来源:互联网 发布:高清网络硬盘播放器 编辑:程序博客网 时间:2024/06/11 20:09
osworkflow与spring的集成方法,在《OSWorkflow开发指南.pdf》中有描述,但那篇文章中没有代码,这里贴出我自己集成的代码和配置:
1.新的WorkflowStore
package com.opensymphony.workflow.spi.jdbc;import java.sql.Connection;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.HashMap;import java.util.Properties;import javax.sql.DataSource;import org.springframework.jdbc.datasource.DataSourceUtils;import org.springframework.jdbc.support.JdbcUtils;import com.opensymphony.module.propertyset.PropertySet;import com.opensymphony.module.propertyset.PropertySetManager;import com.opensymphony.workflow.StoreException;public class SpringJDBCWorkflowStore extends JDBCWorkflowStore { public void setDataSource(DataSource dataSource){ this.ds = dataSource; } public void setJdbcProperties(Properties ps) throws StoreException { init(ps); } @Override protected Connection getConnection() throws SQLException { return DataSourceUtils.getConnection(this.ds); } @Override protected void cleanup(Connection connection, Statement statement, ResultSet result) { JdbcUtils.closeStatement(statement); JdbcUtils.closeResultSet(result); DataSourceUtils.releaseConnection(connection, this.ds); }@Overridepublic PropertySet getPropertySet(long entryId) {HashMap args = new HashMap(); args.put("globalKey", "osff_" + entryId); args.put("dataSource", ds); return PropertySetManager.getInstance("spring", args);} }
package com.opensymphony.module.propertyset.database;import java.sql.Connection;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.Map;import javax.sql.DataSource;import org.springframework.jdbc.datasource.DataSourceUtils;import org.springframework.jdbc.support.JdbcUtils;public class SpringJDBCPropertySet extends JDBCPropertySet {@Overridepublic void init(Map config, Map args) {super.init(config, args);this.ds = (DataSource) args.get("dataSource");} @Override protected Connection getConnection() throws SQLException { return DataSourceUtils.getConnection(this.ds); } @Override protected void cleanup(Connection connection, Statement statement, ResultSet result) { JdbcUtils.closeStatement(statement); JdbcUtils.closeResultSet(result); DataSourceUtils.releaseConnection(connection, this.ds); }}
3.增加spring配置:
<bean id="jdbcTemplateWorkflowStore"class="com.opensymphony.workflow.spi.jdbc.SpringJDBCWorkflowStore"><property name="jdbcProperties"><props><prop key="entry.sequence">select IFNULL(max(id)+1,1) from os_wfentry</prop><prop key="step.sequence">select IFNULL(GREATEST((select max(id) from os_currentstep),(select max(id) from os_historystep))+1,1)</prop></props></property></bean><bean id="workflowFactory"class="com.opensymphony.workflow.spi.hibernate.SpringWorkflowFactory"init-method="init"><property name="resource"><value>workflows.xml</value></property><property name="reload"><value>true</value></property></bean><bean id="osworkflowConfiguration" class="com.opensymphony.workflow.config.SpringConfiguration"><property name="store"><ref local="jdbcTemplateWorkflowStore" /></property><property name="factory"><ref local="workflowFactory" /></property></bean>这里用了自动注入
0 0
- osworkflow与spring的集成
- 将osworkflow与spring和hibernate集成的基本介绍
- osworkflow与spring的整合
- OSworkflow,spring1.27,hibernate3集成-3.spring配置文件更改
- spring+hibernate+osworkflow组合的一点改进
- Spring与iBATIS的集成
- Spring与iBATIS的集成
- Spring与iBATIS的集成
- Spring与iBATIS的集成
- Spring与iBATIS的集成
- Spring与iBATIS的集成
- Spring与iBATIS的集成
- EJB与Spring的集成
- dwr 与spring 的集成
- DWR与Spring的集成
- JBPM与Spring的集成
- Spring与Struts1的集成
- Struts与Spring的集成
- ecplise字体配色和界面主题设置
- Java23种设计模式全解析
- Hadoop-包的功能分析
- Android Developers -- Building Apps With Content Sharing(第一章)
- 如何让点聚WebOffice在线编辑ActiveX插件兼容火狐、谷歌、IE各式浏览器
- osworkflow与spring的集成
- 用于运行 ASP.NET 的进程帐户必须具有对 IIS 元数据库(如 IIS://servername/W3SVC)的读访问权
- poj1011
- 020:ID生成策略XML配置(连接mysql)
- opencv学习笔记之resize
- jxl做excel报表
- android开发:EditText中android:capitalize属性的作用
- select count(*)和select count(1)的区别 .
- C++MFC编程笔记day01 MFC介绍、创建MFC程序和重写消息处理