Liferay研究之廿一:Liferay集成Jbpm

网上有很多这方面的资料,不过大部分都出自一个人的文章,而且应该大部分人是做不成功的。参考了Tyler Zhou的资料。简单测试了一下,成功。by smilingleo

http://tyler-zhou.javaeye.com/blog/163928

liferay集成了jbpm工作流,他是可以先择通过两种组件来调用JBPM的,servicemix和mule,根据Liferay的官方建议,最好选择mule.

1.Liferay官方网站下载liferay-portal-jbpm-web-4.3.2.war,liferay-portal-mule-web-4.3.2.war. 重命名为jbpm-web.war,mule-web.war 。(我测试时,用的Liferay版本是5.0, jbpm-web和mule是4.4.2, 没问题)

2.两个包都放到/webapps下面,liferay启动后会自动的解压,或者用WINRAR也可以解压。

3.webapps/ROOT/WEB-INF/classes/portal-ext.properties增加jbi.workflow.url=http://localhost:8080/mule-web/workflow注意端口号要和自已的相同。

4.如果要修改端口号那么还要修改webapps/mule-web/WEB-INF/mule-config.xml下
<property name="url" value="http://localhost:8080/jbpm-web/servlet" />端口号;

5.webapps/jbpm-web/WEB-INF/classes/hibernate.cfg.xml,先择自已用到的数据库类型并配置, webapps/jbpm-web/WEB-INF/sql下面有各种数据库脚本,选择自已的数据库。by smilingleo

6. 用下面的测试流程定义进行测试。

<? xml version="1.0" encoding="UTF-8" ?>

< process-definition  xmlns ="urn:jbpm.org:jpdl-3.1"  name ="Example Process" >
    
< start-state  name ="start" >
        
< task >  
            
< assignment  class ="com.liferay.jbpm.handler.IdentityAssignmentHandler"   >
                
< companyId > liferay.com </ companyId >
                
< type > user </ type >
                
< name > [email protected] </ name >
            
</ assignment >
            
< controller >
                
< variable  name ="text:color"   />  
                
< variable  name ="text:size"   />
            
</ controller >
        
</ task >
        
< transition  name ="to_t"  to ="t" />
    
</ start-state >
    
< task-node  name ="t" >
        
< task  name ="t"   >
            
< controller  >  
                
< variable  name ="text:color"  access ="read"   />
                
< variable  name ="text:size"   access ="read" />
            
</ controller >
            
< assignment  class ="com.liferay.jbpm.handler.IdentityAssignmentHandler"   >
                
< companyId > liferay.com </ companyId >
                
< type > user </ type >
                
< name > [email protected] </ name >  
            
</ assignment >
        
</ task >
        
< transition  name ="to_end"  to ='end'  />
    
</ task-node >
    
< end-state  name ="end" ></ end-state >
</ process-definition >

 

7. 在definitions中就可以看到定义的工作流了。点击后面的“Add instance”就可以创建一个工作流实例。 

你可能感兴趣的:(Liferay研究之廿一:Liferay集成Jbpm)