J'ai développé un modèle de workflow qui ressemble à ci-dessous.Problème avec le flux de travail CQ5
Démarrage du flux -> Processus de test -> Participant personnalisé -> Fin J'ai écrit deux bundles OSGI différents pour deux étapes de processus personnalisées et une étape de participant dynamique personnalisée.
Première OSGI Implémentation - Création d'un paquet sous/apps/monsite/wfprocess/et le chemin du fichier java est /apps/mywebsite/wfprocess/src/main/java/com/test/workflow/MyWorkflowProcess.java
@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?
/*
}
}
maintenant seconde OSGI, personnalisé-participants créé un paquet sous/apps/monsite/custPerticipantChooser/et le chemin du fichier java est
/apps/monsite/custPerticipantChooser/src/main/java/com/test/Cust /actor/MyDynamicParticipant.java
@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";
}
}
Maintenant j'ai installé deux paquets et les deux sont en état actif.
Le problème est que lorsque je lance le workflow, la première étape du processus personnalisé est exécutée mais une fois le processus terminé, le second code de flux du participant dynamique personnalisé n'est pas exécuté. Mais lorsque j'ai supprimé le premier processus d'étape personnalisé (Processus de test), le code est en cours d'exécution pour un flux de participant dynamique personnalisé.
Pourriez-vous s'il vous plaît laissez-moi savoir s'il me manque quelque chose ici? Merci de votre aide!
Je travaille sur la version 5.4.