11-05-2015 05:12 PM
//package statement
import java.io.Serializable;
import org.activiti.engine.delegate.DelegateExecution;
import org.activiti.engine.delegate.JavaDelegate;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class LogTask implements Serializable,JavaDelegate {
private static final long serialVersionUID = -6489042542454599211L;
private static final Logger LOG = LoggerFactory.getLogger(LogTask.class);
@Override
public void execute(DelegateExecution execution) throws Exception {
LOG.info("Hello World");
}
}
<serviceTask id="servicetask1" name="Service Task" activiti:class="#{taskClass}"></serviceTask>
java.lang.ClassNotFoundException: #{taskClass}
<serviceTask id="servicetask1" name="Service Task" activiti:delegateExpression="#{taskClass}"></serviceTask>
I got the following error while trying to run the service task
Caused by: org.activiti.engine.ActivitiIllegalArgumentException: Delegate expression #{taskClass} did neither resolve to an implementation of interface org.activiti.engine.impl.pvm.delegate.ActivityBehavior nor interface org.activiti.engine.delegate.JavaDelegate
11-06-2015 02:29 AM
public class ClassDelegate extends AbstractBpmnActivityBehavior implements TaskListener, ExecutionListener, SubProcessActivityBehavior {
protected String className;
11-06-2015 01:39 PM
public class ServiceTaskDelegate implements Serializable,ActivityBehavior {
private static final long serialVersionUID = -2093463145176121341L;
@Override
public void execute(ActivityExecution execution) throws Exception {
String className = execution.getVariable("taskClass", String.class);
Class<?> clazz = Class.forName(className);
Constructor<ActivityBehavior> constructor = (Constructor<ActivityBehavior>) clazz.getConstructor();
ActivityBehavior delegate = constructor.newInstance();
delegate.execute(execution);
}
}
Tags
Find what you came for
We want to make your experience in Hyland Connect as valuable as possible, so we put together some helpful links.