[JBoss jBPM] - Possible: Decide to end task instance or not?
by thedog
A workflow has a task where parameters (process variables) for the further workflow steps should be set. When the actor has defined all parameters, it will end the task.
Wanted: Check that the parameters are really correct before leaving (ending the task instance)
At the moment I have a CheckAction on end-task events that will throw an IllegalStateException. At first I thought that this would stop jBPM from ending the task: The client who called endTask gets the exception, the task instance is kept un-ended. But it seems that the jBPM just got confused: workflow execution continues (next task is started) but old task is not ended (even when task is blocking).
| <event type="task-end">
| <action name="CheckTransferParametersAction"
| class="CheckTransferParametersAction"
| config-type="bean"/>
| </event>
|
Is there a possibility to do this kind of check?
I know that I could put an decision node after the tasknode and loop back to the task but it would be nice when the caller could get an exception immediately when trying to (illegally) end the task (endTask, exception, reportError) instead of endTask, sleep, getTaskList, findTaskWithSameExecutionTokenAsBefore, reportError
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3992774#3992774
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3992774
19 years, 4 months
[JBoss AOP] - Re: probleam in granularity of interception
by fabiocsilva
I changed file jboss-aop.xml. The shown error is abnormal because the class is present in jar of the WEB-INF/lib directory.
| <aspect class="aspects.dataManagement.nonpersistent.DataCollectionNonPersistent" scope="PER_VM" />
|
|
| <pointcut name="recordsCreation" expr="execution(*->new(..))" />
|
|
| <bind pointcut="recordsCreation">
| <advice aspect="aspects.dataManagement.nonpersistent.DataCollectionNonPersistent" name="aroundRecordsCreation" />
| </bind>
|
Result:
| 11:10:00,068 ERROR [STDERR] [warn] AOP Instrumentor failed to transform aspects.dataManagement.nonpersistent.DataCollectionNonPersistent
| 11:10:00,080 ERROR [STDERR] java.lang.RuntimeException: javassist.NotFoundException: healthGuide.IHealthUnitRepository
| 11:10:00,081 ERROR [STDERR] at org.jboss.aop.pointcut.FieldMatcher.visit(FieldMatcher.java:113)
| 11:10:00,081 ERROR [STDERR] at org.jboss.aop.pointcut.ast.ASTField.jjtAccept(ASTField.java:43)
| 11:10:00,081 ERROR [STDERR] at org.jboss.aop.pointcut.Util.has(Util.java:464)
| 11:10:00,082 ERROR [STDERR] at org.jboss.aop.pointcut.Util.has(Util.java:453)
| 11:10:00,082 ERROR [STDERR] at org.jboss.aop.pointcut.ExecutionConstructorMatcher.visit(ExecutionConstructorMatcher.java:95)
| 11:10:00,082 ERROR [STDERR] at org.jboss.aop.pointcut.ast.ASTHasField.jjtAccept(ASTHasField.java:37)
| 11:10:00,082 ERROR [STDERR] at org.jboss.aop.pointcut.MatcherHelper.visit(MatcherHelper.java:127)
| 11:10:00,082 ERROR [STDERR] at org.jboss.aop.pointcut.ast.ASTAnd.jjtAccept(ASTAnd.java:37)
| 11:10:00,082 ERROR [STDERR] at org.jboss.aop.pointcut.MatcherHelper.visit(MatcherHelper.java:118)
| 11:10:00,082 ERROR [STDERR] at org.jboss.aop.pointcut.ast.ASTSub.jjtAccept(ASTSub.java:37)
| 11:10:00,083 ERROR [STDERR] at org.jboss.aop.pointcut.MatcherHelper.visit(MatcherHelper.java:98)
| 11:10:00,083 ERROR [STDERR] at org.jboss.aop.pointcut.ast.ASTBoolean.jjtAccept(ASTBoolean.java:37)
| 11:10:00,083 ERROR [STDERR] at org.jboss.aop.pointcut.MatcherHelper.visit(MatcherHelper.java:88)
| 11:10:00,083 ERROR [STDERR] at org.jboss.aop.pointcut.MatcherHelper.matches(MatcherHelper.java:83)
| 11:10:00,083 ERROR [STDERR] at org.jboss.aop.pointcut.PointcutExpression.matchesExecution(PointcutExpression.java:191)
| 11:10:00,083 ERROR [STDERR] at org.jboss.aop.instrument.JoinpointClassifier$3.matches(JoinpointClassifier.java:99)
| 11:10:00,083 ERROR [STDERR] at org.jboss.aop.instrument.JoinpointSimpleClassifier.classifyJoinpoint(JoinpointSimpleClassifier.java:65)
| 11:10:00,084 ERROR [STDERR] at org.jboss.aop.instrument.JoinpointClassifier.classifyConstructorExecution(JoinpointClassifier.java:160)
| 11:10:00,084 ERROR [STDERR] at org.jboss.aop.instrument.ConstructorExecutionTransformer.classifyConstructor(ConstructorExecutionTransformer.java:484)
| 11:10:00,084 ERROR [STDERR] at org.jboss.aop.instrument.ConstructorExecutionTransformer.transform(ConstructorExecutionTransformer.java:141)
| 11:10:00,084 ERROR [STDERR] at org.jboss.aop.instrument.Instrumentor.transform(Instrumentor.java:660)
| 11:10:00,084 ERROR [STDERR] at org.jboss.aop.AspectManager.translate(AspectManager.java:908)
| 11:10:00,084 ERROR [STDERR] at org.jboss.aop.AspectManager.transform(AspectManager.java:820)
| 11:10:00,084 ERROR [STDERR] at org.jboss.aop.standalone.AOPTransformer.aspectTransform(AOPTransformer.java:88)
| 11:10:00,085 ERROR [STDERR] at org.jboss.aop.standalone.AOPTransformer.transform(AOPTransformer.java:75)
| 11:10:00,085 ERROR [STDERR] at sun.instrument.TransformerManager.transform(TransformerManager.java:122)
| 11:10:00,085 ERROR [STDERR] at sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:155)
| 11:10:00,085 ERROR [STDERR] at java.lang.ClassLoader.defineClass1(Native Method)
| 11:10:00,085 ERROR [STDERR] at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
| 11:10:00,085 ERROR [STDERR] at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
| 11:10:00,085 ERROR [STDERR] at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
| 11:10:00,086 ERROR [STDERR] at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
| 11:10:00,086 ERROR [STDERR] at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
| 11:10:00,086 ERROR [STDERR] at java.security.AccessController.doPrivileged(Native Method)
| 11:10:00,086 ERROR [STDERR] at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
| 11:10:00,086 ERROR [STDERR] at org.jboss.mx.loading.RepositoryClassLoader.findClassLocally(RepositoryClassLoader.java:672)
| 11:10:00,086 ERROR [STDERR] at org.jboss.mx.loading.RepositoryClassLoader.findClass(RepositoryClassLoader.java:652)
| 11:10:00,086 ERROR [STDERR] at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
| 11:10:00,087 ERROR [STDERR] at org.jboss.mx.loading.RepositoryClassLoader.loadClassLocally(RepositoryClassLoader.java:190)
| 11:10:00,087 ERROR [STDERR] at org.jboss.mx.loading.ClassLoadingTask$ThreadTask.run(ClassLoadingTask.java:131)
| 11:10:00,087 ERROR [STDERR] at org.jboss.mx.loading.LoadMgr3.nextTask(LoadMgr3.java:399)
| 11:10:00,087 ERROR [STDERR] at org.jboss.mx.loading.RepositoryClassLoader.loadClassImpl(RepositoryClassLoader.java:517)
| 11:10:00,087 ERROR [STDERR] at org.jboss.mx.loading.RepositoryClassLoader.loadClass(RepositoryClassLoader.java:405)
| 11:10:00,087 ERROR [STDERR] at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
| 11:10:00,087 ERROR [STDERR] at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
| 11:10:00,088 ERROR [STDERR] at java.lang.Class.getDeclaredConstructors0(Native Method)
| 11:10:00,088 ERROR [STDERR] at java.lang.Class.privateGetDeclaredConstructors(Class.java:2328)
| 11:10:00,088 ERROR [STDERR] at java.lang.Class.getConstructor0(Class.java:2640)
| 11:10:00,088 ERROR [STDERR] at java.lang.Class.newInstance0(Class.java:321)
| 11:10:00,088 ERROR [STDERR] at java.lang.Class.newInstance(Class.java:303)
| 11:10:00,088 ERROR [STDERR] at org.jboss.aop.advice.PerVmAdvice.generateInterceptor(PerVmAdvice.java:128)
| 11:10:00,088 ERROR [STDERR] at org.jboss.aop.advice.PerVmAdvice.generateOptimized(PerVmAdvice.java:52)
| 11:10:00,088 ERROR [STDERR] at org.jboss.aop.advice.AdviceFactory.create(AdviceFactory.java:68)
| 11:10:00,088 ERROR [STDERR] at org.jboss.aop.Advisor.createInterceptorChain(Advisor.java:612)
| 11:10:00,088 ERROR [STDERR] at org.jboss.aop.Advisor.pointcutResolved(Advisor.java:882)
| 11:10:00,092 ERROR [STDERR] at org.jboss.aop.Advisor.resolveConstructorPointcut(Advisor.java:835)
| 11:10:00,093 ERROR [STDERR] at org.jboss.aop.ClassAdvisor.createInterceptorChains(ClassAdvisor.java:607)
| 11:10:00,093 ERROR [STDERR] at org.jboss.aop.ClassAdvisor.access$300(ClassAdvisor.java:82)
| 11:10:00,093 ERROR [STDERR] at org.jboss.aop.ClassAdvisor$1.run(ClassAdvisor.java:299)
| 11:10:00,093 ERROR [STDERR] at java.security.AccessController.doPrivileged(Native Method)
| 11:10:00,093 ERROR [STDERR] at org.jboss.aop.ClassAdvisor.attachClass(ClassAdvisor.java:271)
| 11:10:00,093 ERROR [STDERR] at org.jboss.aop.AspectManager.initialiseClassAdvisor(AspectManager.java:590)
| 11:10:00,093 ERROR [STDERR] at org.jboss.aop.AspectManager.getAdvisor(AspectManager.java:578)
| 11:10:00,093 ERROR [STDERR] at org.apache.coyote.http11.Http11Protocol$MXPoolListener.<clinit>(Http11Protocol.java)
| 11:10:00,093 ERROR [STDERR] at org.apache.coyote.http11.Http11Protocol.start(Http11Protocol.java:65)
| 11:10:00,093 ERROR [STDERR] at org.apache.catalina.connector.Connector.start(Connector.java:1089)
| 11:10:00,093 ERROR [STDERR] at org.jboss.web.tomcat.tc5.Tomcat5.startConnectors(Tomcat5.java:590)
| 11:10:00,094 ERROR [STDERR] at org.jboss.web.tomcat.tc5.Tomcat5.handleNotification(Tomcat5.java:627)
| 11:10:00,094 ERROR [STDERR] at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
| 11:10:00,094 ERROR [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| 11:10:00,094 ERROR [STDERR] at java.lang.reflect.Method.invoke(Method.java:585)
| 11:10:00,094 ERROR [STDERR] at org.jboss.mx.notification.NotificationListenerProxy.invoke(NotificationListenerProxy.java:153)
| 11:10:00,094 ERROR [STDERR] at $Proxy41.handleNotification(Unknown Source)
| 11:10:00,094 ERROR [STDERR] at org.jboss.mx.util.JBossNotificationBroadcasterSupport.handleNotification(JBossNotificationBroadcasterSupport.java:127)
| 11:10:00,094 ERROR [STDERR] at org.jboss.mx.util.JBossNotificationBroadcasterSupport.sendNotification(JBossNotificationBroadcasterSupport.java:108)
| 11:10:00,094 ERROR [STDERR] at org.jboss.system.server.ServerImpl.sendNotification(ServerImpl.java:908)
| 11:10:00,094 ERROR [STDERR] at org.jboss.system.server.ServerImpl.doStart(ServerImpl.java:497)
| 11:10:00,095 ERROR [STDERR] at org.jboss.system.server.ServerImpl.start(ServerImpl.java:362)
| 11:10:00,095 ERROR [STDERR] at org.jboss.Main.boot(Main.java:200)
| 11:10:00,095 ERROR [STDERR] at org.jboss.Main$1.run(Main.java:490)
| 11:10:00,095 ERROR [STDERR] at java.lang.Thread.run(Thread.java:595)
| 11:10:00,100 ERROR [STDERR] Caused by: javassist.NotFoundException: healthGuide.IHealthUnitRepository
| 11:10:00,100 ERROR [STDERR] at javassist.ClassPool.get(ClassPool.java:416)
| 11:10:00,100 ERROR [STDERR] at javassist.bytecode.Descriptor.toCtClass(Descriptor.java:549)
| 11:10:00,100 ERROR [STDERR] at javassist.bytecode.Descriptor.toCtClass(Descriptor.java:499)
| 11:10:00,100 ERROR [STDERR] at javassist.CtField.getType(CtField.java:297)
| 11:10:00,100 ERROR [STDERR] at org.jboss.aop.pointcut.FieldMatcher.visit(FieldMatcher.java:102)
|
|
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3992769#3992769
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3992769
19 years, 4 months