Shark 工作流研究1-在Tomcat6上部署Shark Workflow的jspClient示例

Shark Workflow是著名的开源工作流引擎,遵循Wfmc标准,是学习工作流产品开发和使用的很好示例。但是由于其为开源项目,没有很好的文档和技术支持,对初学者来说不知如何下手。Shark提供了一个web应用程序示例jspClient,可以作为学习的起点。但是我经过试验发现在tomcat5和 tomcat6上按它的要求部署并不能成功运行。经过仔细研究和查找资料,发现主要是有些配置文件未及时更新导致。现把我总结的在tomcat6上部署此程序的过程发布,希望能给其他初学者一些帮助。

1.获得jspClient示例文件

最简单的方法,直接到http://forge.objectweb.org/projects/shark/下载jsp client示例文件。或者下载Shark最新版本,或者下载CVS源码自己编译并安装,在后两种情况下会在Shark的最终安装目录下找到一个 JSPClient目录,里面有一个sharkworklisthandler.war文件即是该示例文件。

2.部署jspClient

解压缩sharkworklisthandler.war文件到tomcat(我使用的是tomcat-6.0.14)的webapps目录,命名为 sharkworklisthandler,拷贝sharkworklisthandler/WEB-INF/lib目录下hsqldb.jar文件放到 tomcat的lib目录下。

3.修改相关配置文件

修改sharkworklisthandler/META-INF/context.xml文件,原文件是针对tomcat5的配置,需要做相应修改以适应tomcat6.修改成如下内容:

<?xml version='1.0' encoding='utf-8' ?>
<Context>
    <Resource name="sharkdb" auth="Container" type="javax.sql.DataSource" maxWait="5000" maxActive="300"
        maxIdle="2" username="sa" password="" driverClassName="org.hsqldb.jdbcDriver"
        url="jdbc:hsqldb:file:C:/Java/Tomcat-6.0.14/webapps/sharkworklisthandler/db/hsql/hsql" />
    <Transaction factory="org.objectweb.jotm.UserTransactionFactory" jotm.timeout="180" />
</Context>

其中的url中的实际路径根据实际情况为sharkworklisthandler/db/hsql的实际地址后在加一个/hsql。如果不行将其中的“/”换成“/”试试。

修改sharkworklisthandler/WEB-INF/web.xml文件添加数据源信息:

<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
    <display-name> shark-test </display-name>
    <description> Shark sample JSP application. </description>
    <resource-ref>
        <description> Datasource Connecton </description>
        <res-ref-name> sharkdb </res-ref-name>
        <res-type> javax.sql.DataSource </res-type>
        <res-auth> Container </res-auth>
    </resource-ref>
</web-app>

修改sharkworklisthandler/conf/SharkJSPClient.conf文件使jta配置符合tomcat6:

XaUserTransactionLookupName=java:comp/UserTransaction
DatabaseManager.defaults.XATransactionManagerLookupName=java:comp/UserTransaction
DatabaseManager.DB.sharkdb.Connection.DataSourceName="jndi:sharkdb"
SharkTxSynchronizationFactory.XATransactionManagerLookupName=java:comp/UserTransaction

4.启动tomcat6,在浏览器中输入http://localhost:8080/sharkworklisthandler即可。

附:使用Oracle数据库的修改方法:

a.拷贝最新版本oracle10.1.0.5.0的jdbc驱动ojdbc14.jar(可到oracle官方网站下载,oracle9i自带的驱动有问题,会导致倒入流程定义数据时候出错)放到tomcat的lib目录下。

b.修改sharkworklisthandler/META-INF/context.xml文件:

<?xml version='1.0' encoding='utf-8' ?>
<Context>
    <Resource name="sharkdb" auth="Container" type="javax.sql.DataSource" maxWait="5000" maxActive="300"
        maxIdle="2" username="shark" password="shark" driverClassName="oracle.jdbc.driver.OracleDriver" url="jdbc:oracle:thin:@localhost:1521:develop" />
    <Transaction factory="org.objectweb.jotm.UserTransactionFactory" jotm.timeout="180" />
</Context>

c.修改sharkworklisthandler/conf/Shark.conf文件,注释掉以下三行:

DatabaseManager.DB.sharkdb.ObjectId.NextWithPrefix = true
DatabaseManager.DB.sharkdb.ObjectId.NextColumnName = nextoid
DatabaseManager.DB.sharkdb.Connection.ShutDownString = SHUTDOWN

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值