shark工作流源代码学习(四)

本文主要探讨Java中流程定义的装载问题。给出了流程定义装载的代码,详细解释了代码中各步骤,包括返回库管理器、用库管理器得到包ID、由包管理器完成后续操作等,还介绍了作者研究领域及联系方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

怎么装载流程定义

上篇文章已经讨论过,流程定义的装载只需要做一次;下面讨论怎么装载的问题

 

首先给出流程定义的装载的代码,其中的序号对应于后面的解释:

/**
*
输入的是流程定义文件名,返回的是流程定义的包ID

*/

public String packageLoad(String xpdlName) throws MyException

    {  

  //(1)返回库管理器

       RepositoryMgr rm = Shark.getInstance().getRepositoryManager();

 //(2)库管理器得到包ID

       String pkgId = rm.getPackageId(xpdlName);

//(3)得到包管理器

        PackageAdministration pa = Shark.getInstance().getAdminInterface().getPackageAdministration();

       if (!pa.isPackageOpened(pkgId))

       {

           try

           {

//(4)装载流程定义

              pa.openPackage(xpdlName);

           }

           catch (Exception e)

           {

              throw new MyException (e);

           }

       }

       return rm.getPackageId(xpdlName);

    }

 

(1)返回库管理器

该功能实际是通过SharkEngineManger来实现的,如下:

public RepositoryMgr getRepositoryManager () {

      return SharkEngineManager.getInstance().getObjectFactory().createRepositoryManager();

   } 

SharkRepositoryMgr的实现类是RepositoryManager

(2) 库管理器得到包ID

  该功能实现时,实现取出SharkUtilities.EXTERNAL_PACKAGES_REPOSITORY下的全部流程定义,再进行文件名的比较.

(3)得到包ID,余下的事情交由PackageAdministration来完成

 

作者又名HongSoft,研究领域:1)基于工作流的BPM系统研究2)基于JAVA的信息安全技术.欢迎和大家讨论JAVA相关各方面问题 hongbosoftware@163.com

 

 

 

蝙蝠论坛是基于JSF2 Spring3 JPA2等JAVA技术构建的一个小型论坛系统,内置了无处不在的AJAX能力,简洁易用,功能涵盖版面管理、版主设置、发贴、回复、置顶、屏蔽、内部邮件等常用论坛功能,既可以作为非商业性的小型论坛应用,也可以作为学习JSF、Spring、JPA等技术的典型案例项目。     特色功能:     除普通的论坛系统功能外,本站还具有以下特色:     1、无处不在的AJAX能力。AJAX,即异步Javascript和XML,本论坛无论发贴、置顶还是后台管理员的相关操作,都是由页面的局部刷新完成,拥有超级稳定的性能和卓越的用户体验;     2、独立文件管理系统。本论坛内置了独立的用户个人文件管理系统,功能直逼网易邮箱的网易网盘,用户在发贴时可以方便地插入个文件系统中的图片和文件。     3、界面风格动态切换。本站内置了十多种界面风格,实现不同的显示效果,以满足多样化的用户需求,可以在后台中一键动态切换网站的显示风格。     4、图片自动调整大小。网页最忌讳的事情之一就是直接上传相机中的10多M的图片文件,这会极大影响网站浏览速度。在本站中无需考虑此事,不管用户上传的头像文件有多大,本站在显示图片时会将图片文件自动调整到合适的文件大小(通常在100K以内),并且不改变或破坏原来上传的文件。     5、内置IP地理地址查询功能。本论坛内置了地理地址数据库,用户发言后,会显示用户所在的地理地址。 在线演示: 前台访问地址:http://test.reremouse.com/rerebbs/,用户名:test,密码:123456 后台访问地址:http://test.reremouse.com/rerebbs/AdminLogin.jspx,用户名:admin,密码:123456
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值