首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CQ5工作流问题

CQ5工作流问题
EN

Stack Overflow用户
提问于 2013-09-24 18:38:03
回答 1查看 2K关注 0票数 1

我开发了一个工作流模型,如下所示。

Flow Start ->Test Process->自定义参与者->End我为两个不同的定制流程步骤和自定义动态参与者步骤编写了两个不同的OSGI。

首先,OSGI在/app/ under /wfprocess/下创建了一个包,java文件的路径是/apps/mywebsite/wfprocess/src/main/java/com/test/workflow/MyWorkflowProcess.java

代码语言:javascript
复制
      @Component
     @Service
      public class MyWorkflowProcess implements WorkflowProcess {

     @Property(value = "An example workflow process implementation.")
    static final String DESCRIPTION = Constants.SERVICE_DESCRIPTION; 
    @Property(value = "Adobe")
     static final String VENDOR = Constants.SERVICE_VENDOR;
    @Property(value = "Custom Step Process ")
    static final String LABEL="process.label";
    private static Logger log = LoggerFactory.getLogger(MyWorkflowProcess.class);
    private static final String TYPE_JCR_PATH = "JCR_PATH";

    public void execute(WorkItem item, WorkflowSession session, MetaDataMap args)  
    throws WorkflowException {
        String argument = args.get("PROCESS_ARGS", "default value");
    /*
     Do I need to do something here to call second dynamic participant step?  
   /*
   }
   }

现在,第二个OSGI,自定义参与者-在/app/mywebsite/custPerticipantChooser/下创建了一个包,java文件的路径是

/apps/mywebsite/custPerticipantChooser/src/main/java/com/test/cust/actor/MyDynamicParticipant.java

代码语言:javascript
复制
    @Component
    @Service
    @Properties({
    @Property(name = Constants.SERVICE_DESCRIPTION, 
              value = "A sample implementation of      dynamic participant chooser."),
    @Property(name = Constants.SERVICE_VENDOR, value = "Adobe"),
    @Property(name = ParticipantStepChooser.SERVICE_PROPERTY_LABEL, 
              value = "Sample Participant Chooser")})  
      public class MyDynamicParticipant implements ParticipantStepChooser {

   private static final String TYPE_JCR_PATH = "JCR_PATH";

   public String getParticipant(WorkItem workItem, WorkflowSession workflowSession,  
    MetaDataMap args) throws WorkflowException {
    WorkflowData workflowData = workItem.getWorkflowData();
     if (workflowData.getPayloadType().equals(TYPE_JCR_PATH)) {
        String path = workflowData.getPayload().toString();
        String pathFromArgument = args.get("PROCESS_ARGS", String.class);
        if (pathFromArgument != null && path.startsWith(pathFromArgument)) {
            return "sam";
        }
     }
    return "marketingrp";
    }
        }

现在,我确实安装了两个包,并且都处于活动状态。

问题是,当我启动工作流时,第一个自定义流程步骤将被执行,但在它完成之后,第二个定制动态参与者流代码将不会被执行。但是,当我移除第一个自定义步骤流程(测试流程)时,将为定制的动态参与者流执行代码。

如果我漏掉了什么,请告诉我好吗?谢谢你的帮助!

我正在开发5.4版本。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-09-24 20:32:59

您的自定义过程似乎没有推进到参与者步骤。请检查您是否在过程步骤中选中了Handler预先复选框。记得在更新自定义流程组件后保存工作流。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18989445

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档