部署环境:
JDK:jdk1.5.0_11
Mysql:5.0
tomcat:5.5
步骤:
1.安装Mysql数据库,创建名为DefaultDS的数据库
命令为:Create DATABASE IF NOT EXISTS DefaultDS default charset utf8 COLLATE utf8_general_ci;
use DefaultDS;
在下载的包中找到源码,并在源码中的osworkflow-2.8.0\src\etc\deployment\jdbc\找到mysql.sql文件,打开,然后全选,在Mysql控制台中用鼠标右键粘贴,Mysql会自用执行。
2.在Apache Software Foundation\Tomcat 5.5\conf\Catalina\localhost\下新建一个tomcat的配置文件osworkflow_example.xml,内容为
<?xml version='1.0' encoding='utf-8'?>
<Context path="/osworkflow_example" docBase="D:\Program Files\osworkflow-2.8.0-example/" debug="0" reloadable="true" crossContext="true">
<Logger className="org.apache.catalina.logger.FileLogger" prefix="localhost_sessiontest_log." suffix=".txt" timestamp="true"/>
<Environment name="maxExemptions" type="Java.lang.Integer" value="15"/>
<Parameter name="context.param.name" value="context.param.value" override="false"/>
<Resource name="jdbc/DefaultDS" auth="Container" type="javax.sql.DataSource"
password="123456"
driverClassName="com.mysql.jdbc.Driver"
maxIdle="2"
maxWait="5000"
username="root"
url="jdbc:mysql://localhost:3306/DefaultDS"
maxActive="4"
/>
</Context>
3.将安装文件osworkflow-2.8.0-example.war解压到指定的目录,本文为:D:\Program Files\
4.修改安装文件中的内容
WEB-INF/web.xml:增加以下内容
<resource-ref>
<description>MySQL DataSource</description>
<res-ref-name>jdbc/DefaultDS</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
WEB-INF\classes\osuser.xml:修改为一下内容:
<opensymphony-user>
<provider class="com.opensymphony.user.provider.jdbc.JDBCAccessProvider">
<property name="user.table">os_user</property>
<property name="group.table">os_group</property>
<property name="membership.table">os_membership</property>
<property name="user.name" >username</property>
<property name="user.password">passwordhash</property>
<property name="group.name">groupname</property>
<property name="membership.userName" >username</property>
<property name="membership.groupName">groupname</property>
<property name="datasource">java:comp/env/jdbc/DefaultDS</property>
</provider>
<provider class="com.opensymphony.user.provider.jdbc.JDBCCredentialsProvider">
<property name="user.table">os_user</property>
<property name="group.table">os_group</property>
<property name="membership.table">os_membership</property>
<property name="user.name" >username</property>
<property name="user.password">passwordhash</property>
<property name="group.name">groupname</property>
<property name="membership.userName" >username</property>
<property name="membership.groupName">groupname</property>
<property name="datasource">java:comp/env/jdbc/DefaultDS</property>
</provider>
<provider class="com.opensymphony.user.provider.jdbc.JDBCProfileProvider">
<property name="user.table">os_user</property>
<property name="group.table">os_group</property>
<property name="membership.table">os_membership</property>
<property name="user.name" >username</property>
<property name="user.password">passwordhash</property>
<property name="group.name">groupname</property>
<property name="membership.userName" >username</property>
<property name="membership.groupName">groupname</property>
<property name="datasource">java:comp/env/jdbc/DefaultDS</property>
</provider>
<authenticator class="com.opensymphony.user.authenticator.SmartAuthenticator" />
</opensymphony-user>
WEB-INF\classes\osworkflow.xml修改为以下内容:
<osworkflow>
<persistence class="com.opensymphony.workflow.spi.jdbc.MySQLWorkflowStore">
<property key="datasource" value="jdbc/DefaultDS"/>
<property key="entry.sequence"
value="SELECT nextVal('seq_os_wfentry')"/>
<property key="entry.table" value="OS_WFENTRY"/>
<property key="entry.id" value="ID"/>
<property key="entry.name" value="NAME"/>
<property key="entry.state" value="STATE"/>
<!--
<property key="step.sequence"
value="SELECT nextVal('seq_os_currentsteps')"/>
-->
<property key="step.sequence" value="select sum(c1) + 1 from (select 1 as tb, count(*) as c1 from os_currentstep union select 2 as tb, count(*) as c1 from os_historystep) as TabelaFinal" />
<property key="history.table" value="OS_HISTORYSTEP"/>
<property key="current.table" value="OS_CURRENTSTEP"/>
<property key="historyPrev.table" value="OS_HISTORYSTEP_PREV"/>
<property key="currentPrev.table" value="OS_CURRENTSTEP_PREV"/>
<property key="step.id" value="ID"/>
<property key="step.entryId" value="ENTRY_ID"/>
<property key="step.stepId" value="STEP_ID"/>
<property key="step.actionId" value="ACTION_ID"/>
<property key="step.owner" value="OWNER"/>
<property key="step.caller" value="CALLER"/>
<property key="step.startDate" value="START_DATE"/>
<property key="step.finishDate" value="FINISH_DATE"/>
<property key="step.dueDate" value="DUE_DATE"/>
<property key="step.status" value="STATUS"/>
<property key="step.previousId" value="PREVIOUS_ID"/>
<property key="step.sequence.increment"
value="INSERT INTO OS_STEPIDS (ID) values (null)"/>
<property key="step.sequence.retrieve"
value="SELECT max(ID) FROM OS_STEPIDS"/>
<property key="entry.sequence.increment"
value="INSERT INTO OS_ENTRYIDS (ID) values (null)"/>
<property key="entry.sequence.retrieve"
value="SELECT max(ID) FROM OS_ENTRYIDS"/>
</persistence>
<factory class="com.opensymphony.workflow.loader.XMLWorkflowFactory">
<property key="resource" value="workflows.xml" />
</factory>
</osworkflow>
WEB-INF\classes\下,新建一个文件propertyset.xml内容为:
<propertysets>
<propertyset name="jdbc"
class="com.opensymphony.module.propertyset.database.JDBCPropertySet">
<arg name="datasource" value="jdbc/DefaultDS"/>
<arg name="table.name" value="OS_PROPERTYENTRY"/>
<arg name="col.globalKey" value="GLOBAL_KEY"/>
<arg name="col.itemKey" value="ITEM_KEY"/>
<arg name="col.itemType" value="ITEM_TYPE"/>
<arg name="col.string" value="STRING_VALUE"/>
<arg name="col.date" value="DATE_VALUE"/>
<arg name="col.data" value="DATA_VALUE"/>
<arg name="col.float" value="FLOAT_VALUE"/>
<arg name="col.number" value="NUMBER_VALUE"/>
</propertyset>
</propertysets>
将Mysql的驱动JAR放入Apache Software Foundation\Tomcat 5.5\common\lib\下,
启动Tomcat。
运行http://localhost:8083/osworkflow_example/
OK。
本文参考了网上的各位前辈的文章。
分享到:
相关推荐
4. **部署文件**:osworkflow-2.8.0-example.war 是一个WAR(Web Application Archive)文件,它是Java Web应用程序的标准打包格式。这意味着这个示例可以直接部署到任何支持Servlet 2.3或更高版本的Java应用服务器...
4. **示例应用:osworkflow-2.8.0-example.war** 这是一个Web应用示例,展示了如何在实际项目中集成osWorkflow。通过部署这个WAR文件,开发者可以学习到osWorkflow的用法,包括如何配置、启动工作流,以及如何与...
使用方法:把mine压缩包解压,把osworkflow-2.8.0-example文件夹放入%TOMCAT_HOME%\webapp下。osworkflow-2.8.0-example.xml放在%TOMCAT_HOME%\conf\Catalina\localhost 当然数据库要配置连接池,名字为jdbc/...
7. **示例项目**:"osworkflow-2.8.0-example.war" 是一个包含示例应用的战争文件,可以帮助开发者快速理解和学习如何使用 OSworkflow。 8. **构建配置**:"build.properties" 和 "osbuild.xml"、"build.xml" 文件...
**osworkflow-2.8.0.jar** 是osworkflow的一个版本,包含了所有必要的类库和资源文件,供开发人员在项目中使用。这个版本可能包含了一些新的特性、性能优化或已知问题的修复。 **Hibernate** 是一个强大的对象关系...
OSWorkflow-2.8.0 是一个开源的工作流引擎,主要应用于Java开发环境中。这个版本的OSWorkflow是在其官方网站上下载的,遗憾的是,现在该官网已经关闭,使得获取更新和文档变得更加困难。不过,这个安装包是经过修改...
一个不错的工作流引擎
博文链接:https://yanwu.iteye.com/blog/195250
1. **工作流定义**:通过XML配置文件,开发者可以详细定义每个工作流实例的步骤、参与者、条件和动作。这种声明式的方法允许快速构建和修改流程。 2. **状态管理**:系统跟踪每个实例的当前状态,确保流程按照预期...
在实际应用中,osworkflow-canvas可能会部署在Tomcat、Jetty等应用服务器上,而Nginx则作为反向代理,通过代理_pass指令将流量转发到这些应用服务器。这样的架构可以充分利用Nginx的高性能和osworkflow-canvas的流程...
通过OSWorkflow,开发者可以将业务逻辑与具体的操作步骤分离,使得流程规则的修改和扩展变得容易。 4. **实用工具类**:这些工具类通常是开发者为解决常见问题而编写的代码集合,可以提高开发效率,减少重复劳动。...
2. **osworkflow-2.7.0-example.war**:这是一个Web应用程序的WAR文件,包含了osworkflow的示例应用。解压并部署到Servlet容器(如Tomcat)后,可以用来快速了解osworkflow的功能和用法,通过实际操作学习如何集成到...
这个"osworkflow-example-demo.rar"是一个示例项目,包含了OSWorkflow的源代码和一个经典的实例,适用于初学者学习和理解工作流管理系统的工作原理。由于不包含数据库和流程设计器,因此可能需要用户自行配置和设计...
**osWorkflow 2.8.0 知识点详解** osWorkflow 是一个开源的工作流引擎,主要用于管理和控制业务流程。这个版本(2.8.0)可能是该软件的一个稳定版本,因为很多开源项目会根据其成熟度和修复的错误来命名版本号。...
这份osworkflow-chinese-manual.pdf是osWorkflow的中文手册,对于理解和使用osWorkflow具有极高的参考价值。 工作流管理系统(Workflow Management System,WfMS)是企业信息化建设中的关键组件,它通过定义、执行...
标题中的"osworkflow-canvas-master_nginx_源码.rar"表明这是一个关于osWorkflow Canvas与Nginx服务器相关的源代码压缩包。osWorkflow是一个开源的工作流管理系统,用于管理业务流程,而Nginx则是一款高性能的HTTP和...
《osworkflow-developer-guide》是关于OSWorkflow框架的开发者指南,它为理解、实施和定制OSWorkflow提供了详尽的指导。OSWorkflow是一个开源的工作流管理系统,用于管理应用程序中的业务流程。这个指南旨在帮助...
手册中的“OSWorkflow-chinese-manual-2.8.pdf”应该包含了详细的使用指南、API参考、示例代码和最佳实践,可以帮助开发者快速上手并深入理解OSWorkflow的用法。建议首先阅读手册的介绍部分,理解OSWorkflow的基本...