As we transition to the new Hyland Community, some post links may be temporarily disrupted as we finalize redirects. We apologize for the inconvenience and are working to resolve this as quickly as possible. Details.
1 sept. 2011 08:46:00 org.activiti.engine.impl.interceptor.CommandContext close<br>GRAVE: Error while closing command context<br>org.activiti.engine.ActivitiException: test.activiti.FormEnginePrepareTaskBean doesn't implement org.activiti.engine.delegate.JavaDelegate nor org.activiti.engine.impl.pvm.delegate.ActivityBehavior<br> at org.activiti.engine.impl.bpmn.helper.ClassDelegate.getActivityBehaviorInstance(ClassDelegate.java:136)<br> at org.activiti.engine.impl.bpmn.helper.ClassDelegate.execute(ClassDelegate.java:110)<br> at org.activiti.engine.impl.pvm.runtime.AtomicOperationActivityExecute.execute(AtomicOperationActivityExecute.java:40)<br> at org.activiti.engine.impl.interceptor.CommandContext.performOperation(CommandContext.java:76)<br> at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperation(ExecutionEntity.java:481)<br> at org.activiti.engine.impl.pvm.runtime.AtomicOperationTransitionNotifyListenerStart.eventNotificationsCompleted(AtomicOperationTransitionNotifyListenerStart.java:48)<br> at org.activiti.engine.impl.pvm.runtime.AbstractEventAtomicOperation.execute(AbstractEventAtomicOperation.java:52)<br> at org.activiti.engine.impl.interceptor.CommandContext.performOperation(CommandContext.java:76)<br> at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperation(ExecutionEntity.java:481)<br> at org.activiti.engine.impl.pvm.runtime.AbstractEventAtomicOperation.execute(AbstractEventAtomicOperation.java:45)<br> at org.activiti.engine.impl.interceptor.CommandContext.performOperation(CommandContext.java:76)<br> at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperation(ExecutionEntity.java:481)<br> at org.activiti.engine.impl.pvm.runtime.AtomicOperationTransitionCreateScope.execute(AtomicOperationTransitionCreateScope.java:44)<br> at org.activiti.engine.impl.interceptor.CommandContext.performOperation(CommandContext.java:76)<br> at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperation(ExecutionEntity.java:481)<br> at org.activiti.engine.impl.pvm.runtime.AtomicOperationTransitionNotifyListenerTake.execute(AtomicOperationTransitionNotifyListenerTake.java:61)<br> at org.activiti.engine.impl.interceptor.CommandContext.performOperation(CommandContext.java:76)<br> at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperation(ExecutionEntity.java:481)<br> at org.activiti.engine.impl.pvm.runtime.AtomicOperationTransitionDestroyScope.execute(AtomicOperationTransitionDestroyScope.java:111)<br> at org.activiti.engine.impl.interceptor.CommandContext.performOperation(CommandContext.java:76)<br> at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperation(ExecutionEntity.java:481)<br> at org.activiti.engine.impl.pvm.runtime.AtomicOperationTransitionNotifyListenerEnd.eventNotificationsCompleted(AtomicOperationTransitionNotifyListenerEnd.java:36)<br> at org.activiti.engine.impl.pvm.runtime.AbstractEventAtomicOperation.execute(AbstractEventAtomicOperation.java:52)<br> at org.activiti.engine.impl.interceptor.CommandContext.performOperation(CommandContext.java:76)<br> at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperation(ExecutionEntity.java:481)<br> at org.activiti.engine.impl.persistence.entity.ExecutionEntity.take(ExecutionEntity.java:326)<br> at org.activiti.engine.impl.bpmn.behavior.BpmnActivityBehavior.performOutgoingBehavior(BpmnActivityBehavior.java:92)<br> at org.activiti.engine.impl.bpmn.behavior.BpmnActivityBehavior.performDefaultOutgoingBehavior(BpmnActivityBehavior.java:49)<br> at org.activiti.engine.impl.bpmn.behavior.FlowNodeActivityBehavior.leave(FlowNodeActivityBehavior.java:44)<br> at org.activiti.engine.impl.bpmn.behavior.FlowNodeActivityBehavior.execute(FlowNodeActivityBehavior.java:36)<br> at org.activiti.engine.impl.pvm.runtime.AtomicOperationActivityExecute.execute(AtomicOperationActivityExecute.java:40)<br> at org.activiti.engine.impl.interceptor.CommandContext.performOperation(CommandContext.java:76)<br> at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperation(ExecutionEntity.java:481)<br> at org.activiti.engine.impl.pvm.runtime.AtomicOperationProcessStartInitial.eventNotificationsCompleted(AtomicOperationProcessStartInitial.java:44)<br> at org.activiti.engine.impl.pvm.runtime.AbstractEventAtomicOperation.execute(AbstractEventAtomicOperation.java:52)<br> at org.activiti.engine.impl.interceptor.CommandContext.performOperation(CommandContext.java:76)<br> at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperation(ExecutionEntity.java:481)<br> at org.activiti.engine.impl.pvm.runtime.AtomicOperationProcessStart.eventNotificationsCompleted(AtomicOperationProcessStart.java:44)<br> at org.activiti.engine.impl.pvm.runtime.AbstractEventAtomicOperation.execute(AbstractEventAtomicOperation.java:52)<br> at org.activiti.engine.impl.interceptor.CommandContext.performOperation(CommandContext.java:76)<br> at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperation(ExecutionEntity.java:481)<br> at org.activiti.engine.impl.persistence.entity.ExecutionEntity.start(ExecutionEntity.java:280)<br> at org.activiti.engine.impl.cmd.SubmitStartFormCmd.execute(SubmitStartFormCmd.java:80)<br> at org.activiti.engine.impl.cmd.SubmitStartFormCmd.execute(SubmitStartFormCmd.java:35)<br> at org.activiti.engine.impl.interceptor.CommandExecutorImpl.execute(CommandExecutorImpl.java:24)<br> at org.activiti.engine.impl.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:42)<br> at org.activiti.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:33)<br> at org.activiti.engine.impl.FormServiceImpl.submitStartFormData(FormServiceImpl.java:64)<br> at egovrunnerserver.Activator.start(Activator.java:51)<br> at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:783)<br> at java.security.AccessController.doPrivileged(Native Method)<br> at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:774)<br> at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:755)<br> at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:370)<br> at org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractBundle.java:374)<br> at org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framework.java:1067)<br> at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:561)<br> at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:546)<br> at org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(StartLevelManager.java:459)<br> at org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:243)<br> at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:440)<br> at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:227)<br> at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:337)<br>
Hi,The exception says it all doesn't it. The FormEnginePrepareTaskBean needs to implement JavaDelegate or ActivityBehavior.Best regards,
public class FormEnginePrepareTaskBean implements JavaDelegate {<br><br> private Expression formEngine;<br><br> @Override<br> public void execute(DelegateExecution execution) {<br> execution.setVariable("formEngine",<br> formEngine.getValue(execution));<br> }<br>}
<?xml version="1.0" encoding="UTF-8"?><br><definitions xmlns="<a href="http://www.omg.org/spec/BPMN/20100524/MODEL" rel="nofollow noopener noreferrer">http://www.omg.org/spec/BPMN/20100524/MODEL</a>"<br> xmlns:activiti="<a href="http://activiti.org/bpmn" rel="nofollow noopener noreferrer">http://activiti.org/bpmn</a>" targetNamespace="EGovRunnerProcesses"><br><br> <process id="MyTestProcess" name="MyTest Process"><br> <startEvent id="theStart" activiti:initiator="initiator"><br> <extensionElements><br> <activiti:formProperty id="person" type="string" /><br> <activiti:formProperty id="reason" type="string" /><br> </extensionElements><br> </startEvent><br><br> <sequenceFlow id='flow1' sourceRef='theStart'<br> targetRef='task1' /><br><br> <serviceTask id="task1" name="first task"<br> activiti:class="test.FormEnginePrepareTaskBean"><br> </serviceTask><br><br> <sequenceFlow id='flow2' sourceRef='task1'<br> targetRef='theEnd' /><br><br> <endEvent id="theEnd" /><br> </process><br><br></definitions>
Caused by: org.activiti.engine.ActivitiException: Can't find scripting engine for 'groovy' at org.activiti.engine.impl.scripting.ScriptingEngines.evaluate(ScriptingEngines.java:66) at org.activiti.engine.impl.bpmn.behavior.ScriptTaskActivityBehavior.execute(ScriptTaskActivityBehavior.java:43) at org.activiti.engine.impl.pvm.runtime.AtomicOperationActivityExecute.execute(AtomicOperationActivityExecute.java:40)
Hi,I made some first steps in testing this. So the projects you uploaded are fine for me to test.However I need some more time to investigate this. I'll come back to this in a couple of days.Best regards,
More important is that the classes of my bundle or classes from other bundles could not be reached by scripts of my processes.I wonder if I could somehow specify the class loader of the scripting environment.
Hi,I'll be working with the OSGi implementation for the Activiti in Action book in the next days.Note however that the Activiti OSGi module is mainly tested with Apache Karaf.And that's what I'll be using for Activiti in Action.But of course it should also be possible to get it running on Felix.Best regards,
Hi,I've an OSGi example working on Apache Karaf. There are a number of pitfalls that I encountered while implementing the examples.But you find the source code at the Activiti in Action google code repository: http://code.google.com/p/activitiinaction/ in the book-osgi-app project.Best regards,