文档章节

tapestry activiti开发笔记

z
 zhouyc
发布于 2014/05/28 16:02
字数 573
阅读 909
收藏 1

开发环境的准备:

eclipse: kapler

plugin: http://activiti.org/designer/update/

tapestry-activiti-0.0.1

tapestry-core: 5.4-beta-6

database:mysql5.5.29

activiti : 5.15.1

<dependency>
            <groupId>org.activiti</groupId>
            <artifactId>activiti-engine</artifactId>
            <version>5.15.1</version>
</dependency>
 <dependency>
            <groupId>org.codehaus.groovy</groupId>
            <artifactId>groovy-all</artifactId>
            <version>2.2.1</version>
  </dependency>

注解:因为tapestry-ioc-5.4和tapestry-activiti-0.0.1不兼容,所以参照重写自己的模块。

环境移置成功,直接copy源码,然后进行修正。 创建的数据库用activiti的下面脚本:

  1. activiti.mysql.create.identity.sql

  2. activiti.mysql55.create.engine.sql

  3. activiti.mysql55.create.history.sql

---------------------------------------------------------------------

使用注意点:

1)各个Service都是线程安全的,在自己框架中集成的时候可以做成单例模式

     在tapestry中,可以通过buildService的方式,最终通过依赖注入来管理各个Service。




需要解决的问题:

1)和业务表的关联及业务数据的保存

2)事务的控制

3)参数的传递

     参数在传递过程中,必须是可以系列化的(Serializable),否则activiti不给保存。(痛苦过)

     参数在各个task之间进行传递,task和processInstance之间的共享问题,范围问题,待查。

     process scope:

           作用:

           弊端:

     task scope :

          作用:

          弊端:

4)流程图当前状态的显示

 tapestry中显示成功,

待解决的问题点。

  • 图片中的标题内容部分丢失。

       如果在发布的时候,没有发布原始的流程图片,engine自动支持自动生成图片的功能?,这个会丢失内容。

       如果发布的时候也发布图片(deploy),一切显示正常。(不知道Activiti如何进行管理图片的

      自动生成图片功能,需要配置:

ProcessEngineConfiguration.setCreateDiagramOnDeploy(true);
本以为true的话,流程图显示出来后,能突出显示当前状态为Active的task(变红,获得焦点),但没有,需调查。


  • 突出显示流程图中当前task。

@Inject
private RepositoryService repositoryService;

public StreamResponse onChart() {
    return new StreamResponse() {
        public String getContentType() {
            return "image/png";
        }
        public InputStream getStream() throws IOException {
            try {
                ProcessDefinition processDefinition = repositoryService
                        .createProcessDefinitionQuery()
                        .processDefinitionKey("vacationRequest").singleResult();
                String diagramResourceName = processDefinition.getDiagramResourceName();
                return repositoryService.getResourceAsStream(
                    processDefinition.getDeploymentId(),
                    diagramResourceName);
            } catch (Exception ex) {
                throw new RuntimeException("Cannot read image file.", ex);
            }
        }
        public void prepareResponse(Response response) {
        }
    };
}

#tapestry的template文件中
<div>
    <img src="${chart}"/>
</div>

----------------------------------------------------------------------

RepositoryService的功能
1)发布ProcessDefinition到Activiti中,实际是存储到数据库中,同一个定义,有多个版本。

2)删除已经发布的ProcessDefinition。

3)发布流程对应的图片资源。


© 著作权归作者所有

上一篇: mysql学习笔记
下一篇: egit的使用
z
粉丝 1
博文 50
码字总数 15358
作品 0
大连
私信 提问
加载中

评论(0)

activiti学习笔记2-构建流程引擎

一,本节概要 由学习笔记1中的最简单入门实例可以知道,activiti实际上就是提供了一系列服务组件,来完成对流程的管理与控制,如图,在之后的学习中,基本上就是围绕这个图来学习的: 二,构...

安世博
2014/06/14
1.6K
0
activiti开发笔记

actgebytearray 多个对1个 actredeployment 数据库说明: ACTRE* RE 表示 repository . 这个前缀表包含了流程定义 和流程静态资源(图片,规则等等) ACTRU* RU表示 runtime 这些运行时的表,...

之渊
2016/09/21
88
0
第一讲:hello tapestry

tapestry具体的介绍,大家可以去官网http://tapestry.apache.org/了解,apache的强大大家也有目共睹。 tapestry使用了组件开发模式,很大的提高了工作效率,速度也很快,特别的5.3之后版本,...

神勇小白鼠
2012/04/13
315
0
NetBeans的Tapestry插件--NbTapestrySupport

NbTapestrySupport 该项目是一个NetBeans插件主要是为用Tapestry框架进行的web开发提供支持。功能包括:在 Tapestry配置文件中为class name,file和librarie提供超链接支持。只需按拄CTRL然后...

匿名
2009/09/22
483
0
Tapestry 教程(一)

介绍 欢迎来到 Tapestry 的世界! 这篇教程帮助人们来创建基于 Tapestry 的 web 应用程序。你是否有过使用 Tapestry 早期版本或者其它 web 框架的经历,这一点并不重要。事实上,从某些立场来...

LeoXu
2016/01/08
530
0

没有更多内容

加载失败,请刷新页面

加载更多

PHP一致性hash代码

[TOC] PHP实现一致性hash bash命令 因为下面PHP代码的模拟用户用的是随机数,所以统计结果达不到绝对的均衡. php ./hash.php | sort | uniq -c | sort PHP代码 这是之前学的时候留下来的测试...

我爱吃炒鸡
今天
78
0
OSChina 周六乱弹 —— 现在看动弹的人都是什么状态

Osc乱弹歌单(2020)请戳(这里) 【今日歌曲】 @薛定谔的兄弟 :分享洛神有语创建的歌单「我喜欢的音乐」: 《夏日、教室与望着窗外的我》- Candy_Wind 手机党少年们想听歌,请使劲儿戳(这里...

小小编辑
今天
374
5
wamp环境安装redis扩展

1.查看phpinfo信息根据配置信息下载对应的扩展 关键信息:VC14,TS,x86 2.下载php_redis和php_igbinary扩展 php_redis扩展下载地址: https://windows.php.net/downloads/pecl/snaps/redis...

点滴课程
今天
36
0
开源商城开发笔记1-创建MyBatis示例

一、修改pom.xml,引入MyBatis,JUnit,Log4j <dependencies><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.5.4</version>......

土龙
今天
56
0
The Best Way To Learn English in 2020 (In my humble opinion.)

✅Here is the plan: THINGS YOU WILL NEED: - 1 hour per day (30 minutes will work as well). - a notebook and a pen to write down new vocabulary each day. - an English song. - an ......

FalconChen
昨天
85
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部