6 Replies Latest reply on Feb 5, 2007 4:00 AM by manuel.gentile

    seam annotations in components called from a jbpm process

    be082032

      I am using seam 1.0.1 GA and jboss 4.0.4 GA.

      When I build a seam javaBean component that has methods with jbpm annotations (@StartTask @EndTask) and the component is called from a JSF page, all works well (the @EndTask gives a signal that the task is ended and the jbpm process goes on.


      If I call such a component from a jbpm Process using the expression language (like in the JSF page) , I get errors. Are such seam components not to be called from a jbpm process?

      jBPM snippet:

      action expression="#{metadataIngesterJavaBean.executeTask}"



      Component code:

      @StartTask @EndTask
      public void executeTask() {
      log.info("executeTask, context = "+jbpmContext+ " jbpm="+ jbpm);

      try {

      businessProcessContext.set("aap","na de taak");

      }
      catch (Exception e) {
      e.printStackTrace();
      }
      log.info("task ended!!");
      }

        • 1. Re: seam annotations in components called from a jbpm proces
          gavin.king

          (1) You complain about errors but you don't show a stack trace?
          (2) I can't understand why you would want to do this ... it does not seem at all like a "clean" usage of jBPM.

          • 2. Re: seam annotations in components called from a jbpm proces
            be082032

            (2) Why do I want to do this:

            Most of the participants in our workflow process are computers, not humans. The process is about ingesting video on demand movies, having them encrypted on one machine, after this informing a middleware server on another machine, after this store the encrypted movie on a VOD server etc... This is an automatic process in which each step can take hours. We do not want to have to restart the encryption when something fails on the VOD server, we want to be able to resume the process from the last sucessfull step.

            We are using a system like this based on jbpm 2.0 (it is running in the field now for more than a year, with success). In this system, we had the participating computers poll jBPM to see if there were states in a process on which they had to act (just like humans would in a GUI).

            What I wanted to achieve now, is replace the polling mechanism by calling the computer participants from the jbpm process. (create a task for the computer system, assign it to that system and call the system to perform the task). If this is unproper, i will stick to the polling mechanism.
            Besides, I thing that there is another reason why I should stick to polling. As far as I can see, only tasks have priorities, and we should be able to give certain movie ingests priority over other ones. In the polling scenario, we can have the computer systems scan their task list and pick out the task with highest prio to start with. From what I understand , the jbpm process itself does not do much with the task priorities itself, am I correct in this?


            (1) There are 2 scenarios:

            a) The process is started by a seam componenent (metadataIngesterBean) that is called from a JSF page and the process calls this component from jbpm. In this case there is no stack trace, but the @EndTask is not executed. The process does not continue.

            b) The process calls another seam component (metadataIngesterBean2 , not the one that is called from the JSF page) and then I get a stack trace Here is the trace of the whole web request):

            2006-07-20 08:40:56,554 DEBUG [org.jboss.seam.contexts.Lifecycle] >>> Begin web request
            2006-07-20 08:40:56,554 DEBUG [org.jboss.mx.loading.RepositoryClassLoader] setRepository, repository=org.jboss.mx.loading.HeirarchicalLoaderRepository3@a09a08, cl=org.jboss.mx.loading.HeirarchicalLoaderRepository3$CacheClassLoader@1124805{ url=null ,addedOrder=0}
            2006-07-20 08:40:56,554 DEBUG [org.jboss.mx.loading.RepositoryClassLoader] setRepository, repository=org.jboss.mx.loading.HeirarchicalLoaderRepository3@a09a08, cl=org.jboss.mx.loading.HeirarchicalLoaderRepository3$CacheClassLoader@13641d6{ url=null ,addedOrder=0}
            2006-07-20 08:40:56,570 DEBUG [org.jboss.mx.loading.RepositoryClassLoader] setRepository, repository=org.jboss.mx.loading.HeirarchicalLoaderRepository3@a09a08, cl=org.jboss.mx.loading.HeirarchicalLoaderRepository3$CacheClassLoader@11c5bb0{ url=null ,addedOrder=0}
            2006-07-20 08:40:56,570 DEBUG [org.jboss.seam.Component] instantiating Seam component: org.jboss.seam.core.manager
            2006-07-20 08:40:56,570 DEBUG [org.jboss.seam.core.Manager] No stored conversation
            2006-07-20 08:40:56,570 DEBUG [org.jboss.seam.contexts.Contexts] found in application context: org.jboss.seam.core.init
            2006-07-20 08:40:56,570 DEBUG [org.jboss.seam.Component] instantiating Seam component: org.jboss.seam.core.pageflow
            2006-07-20 08:40:56,570 DEBUG [org.jboss.seam.jsf.AbstractSeamPhaseListener] After restoring conversation context: ConversationContext(2)
            2006-07-20 08:40:56,570 DEBUG [org.jboss.seam.jsf.SeamVariableResolver] resolving name: metadataIngesterJavaBean
            2006-07-20 08:40:56,570 DEBUG [org.jboss.seam.Component] instantiating Seam component: org.jboss.seam.core.process
            2006-07-20 08:40:56,570 DEBUG [org.jboss.seam.Component] instantiating Seam component: metadataIngesterJavaBean
            2006-07-20 08:40:56,570 DEBUG [org.jboss.seam.jsf.SeamVariableResolver] resolved name to seam component
            2006-07-20 08:40:56,570 DEBUG [org.jboss.seam.contexts.Contexts] found in application context: taskInstance
            2006-07-20 08:40:56,570 DEBUG [org.jboss.seam.util.Naming] JNDI InitialContext properties:{java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory, java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces}
            2006-07-20 08:40:56,570 DEBUG [org.jboss.mx.loading.RepositoryClassLoader] setRepository, repository=org.jboss.mx.loading.HeirarchicalLoaderRepository3@a09a08, cl=org.jboss.mx.loading.HeirarchicalLoaderRepository3$CacheClassLoader@13a694b{ url=null ,addedOrder=0}
            2006-07-20 08:40:56,570 DEBUG [org.jboss.seam.Component] instantiating Seam component: jbpmContext
            2006-07-20 08:40:56,586 DEBUG [org.jbpm.configuration.JbpmContextInfo] creating jbpm context with service factories '[message, scheduler, logging, persistence, authentication]'
            2006-07-20 08:40:56,586 DEBUG [org.jbpm.JbpmContext] creating JbpmContext
            2006-07-20 08:40:56,586 DEBUG [org.jbpm.configuration.JbpmContextInfo] creating jbpm context with service factories '[message, scheduler, logging, persistence, authentication]'
            2006-07-20 08:40:56,586 DEBUG [org.jbpm.JbpmContext] creating JbpmContext
            2006-07-20 08:40:56,586 DEBUG [org.jbpm.JbpmContext] closing JbpmContext
            2006-07-20 08:40:56,586 DEBUG [org.jboss.seam.core.ManagedJbpmContext] created seam managed jBPM context
            2006-07-20 08:40:56,586 DEBUG [org.jboss.seam.util.Naming] JNDI InitialContext properties:{java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory, java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces}
            2006-07-20 08:40:56,586 DEBUG [org.jboss.seam.util.Naming] JNDI InitialContext properties:{java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory, java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces}
            2006-07-20 08:40:56,586 DEBUG [org.jboss.seam.util.Naming] JNDI InitialContext properties:{java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory, java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces}
            2006-07-20 08:40:56,586 DEBUG [org.jboss.mx.loading.RepositoryClassLoader] setRepository, repository=org.jboss.mx.loading.HeirarchicalLoaderRepository3@a09a08, cl=org.jboss.mx.loading.HeirarchicalLoaderRepository3$CacheClassLoader@1d6e289{ url=null ,addedOrder=0}
            2006-07-20 08:40:56,586 DEBUG [org.jboss.mx.loading.RepositoryClassLoader] setRepository, repository=org.jboss.mx.loading.HeirarchicalLoaderRepository3@a09a08, cl=org.jboss.mx.loading.HeirarchicalLoaderRepository3$CacheClassLoader@b2abfc{ url=null ,addedOrder=0}
            2006-07-20 08:40:56,586 DEBUG [org.jboss.seam.contexts.Contexts] found in application context: org.jboss.seam.core.jbpm
            2006-07-20 08:40:56,586 DEBUG [org.jboss.seam.contexts.Contexts] found in application context: businessProcessContext
            2006-07-20 08:40:56,586 DEBUG [org.jboss.seam.contexts.Contexts] found in application context: processInstance
            2006-07-20 08:40:56,586 DEBUG [org.jboss.seam.util.Naming] JNDI InitialContext properties:{java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory, java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces}
            2006-07-20 08:40:56,586 DEBUG [org.jboss.seam.Component] instantiating Seam component: interpolator
            2006-07-20 08:40:56,586 INFO [com.siemens.mcc.actor.metadataingester.MetadataIngesterJavaBean] Created process ?
            2006-07-20 08:40:56,586 DEBUG [org.jboss.seam.util.Naming] JNDI InitialContext properties:{java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory, java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces}
            2006-07-20 08:40:56,586 DEBUG [org.jbpm.persistence.db.DbPersistenceServiceFactory] creating persistence service
            2006-07-20 08:40:56,586 DEBUG [org.jbpm.persistence.db.DbPersistenceService] creating hibernate session
            2006-07-20 08:40:56,586 DEBUG [org.jboss.mx.loading.RepositoryClassLoader] setRepository, repository=org.jboss.mx.loading.HeirarchicalLoaderRepository3@a09a08, cl=org.jboss.mx.loading.HeirarchicalLoaderRepository3$CacheClassLoader@454bc7{ url=null ,addedOrder=0}
            2006-07-20 08:40:56,586 DEBUG [org.jboss.mx.loading.RepositoryClassLoader] setRepository, repository=org.jboss.mx.loading.HeirarchicalLoaderRepository3@a09a08, cl=org.jboss.mx.loading.HeirarchicalLoaderRepository3$CacheClassLoader@1721ae2{ url=null ,addedOrder=0}
            2006-07-20 08:40:56,586 DEBUG [org.jboss.mx.loading.RepositoryClassLoader] setRepository, repository=org.jboss.mx.loading.HeirarchicalLoaderRepository3@a09a08, cl=org.jboss.mx.loading.HeirarchicalLoaderRepository3$CacheClassLoader@430af2{ url=null ,addedOrder=0}
            2006-07-20 08:40:56,601 DEBUG [org.jbpm.graph.def.GraphElement] event 'process-start' on 'ProcessDefinition(mcc-ingest)' for 'Token(/)'
            2006-07-20 08:40:56,601 DEBUG [org.jbpm.svc.Services] executing default save operations
            2006-07-20 08:40:56,601 DEBUG [org.jbpm.svc.save.HibernateSaveOperation] saving process instance
            2006-07-20 08:40:56,617 DEBUG [org.jbpm.svc.save.SaveLogsOperation] flushing logs to logging service.
            2006-07-20 08:40:56,617 DEBUG [org.jbpm.svc.save.CascadeSaveOperation] cascading save of 'org.jbpm.graph.exe.ProcessInstance@127b0d2'
            2006-07-20 08:40:56,617 DEBUG [org.jbpm.graph.def.GraphElement] event 'before-signal' on 'StartState(start)' for 'Token(/)'
            2006-07-20 08:40:56,617 DEBUG [org.jbpm.graph.def.GraphElement] event 'node-leave' on 'StartState(start)' for 'Token(/)'
            2006-07-20 08:40:56,617 DEBUG [org.jbpm.graph.def.GraphElement] event 'transition' on 'Transition(tr2)' for 'Token(/)'
            2006-07-20 08:40:56,632 DEBUG [org.jbpm.graph.def.GraphElement] event 'node-enter' on 'TaskNode(task1)' for 'Token(/)'
            2006-07-20 08:40:56,632 WARN [org.hibernate.engine.StatefulPersistenceContext.ProxyWarnLog] Narrowing proxy to class org.jbpm.graph.node.TaskNode - this operation breaks ==
            2006-07-20 08:40:56,632 DEBUG [org.jbpm.graph.def.GraphElement] event 'task-create' on 'Task(todo)' for 'Token(/)'
            2006-07-20 08:40:56,664 DEBUG [org.jboss.mx.loading.RepositoryClassLoader] setRepository, repository=org.jboss.mx.loading.HeirarchicalLoaderRepository3@a09a08, cl=org.jboss.mx.loading.HeirarchicalLoaderRepository3$CacheClassLoader@14f02fb{ url=null ,addedOrder=0}
            2006-07-20 08:40:56,664 DEBUG [org.jboss.mx.loading.RepositoryClassLoader] setRepository, repository=org.jboss.mx.loading.HeirarchicalLoaderRepository3@a09a08, cl=org.jboss.mx.loading.HeirarchicalLoaderRepository3$CacheClassLoader@4cc70e{ url=null ,addedOrder=0}
            2006-07-20 08:40:56,679 DEBUG [org.jbpm.graph.def.GraphElement] event 'task-assign' on 'Task(todo)' for 'Token(/)'
            2006-07-20 08:40:56,679 DEBUG [org.jbpm.graph.def.GraphElement] executing action '#{metadataIngesterJavaBean2.executeTask}'
            2006-07-20 08:40:56,679 DEBUG [org.jboss.mx.loading.RepositoryClassLoader] setRepository, repository=org.jboss.mx.loading.HeirarchicalLoaderRepository3@a09a08, cl=org.jboss.mx.loading.HeirarchicalLoaderRepository3$CacheClassLoader@1621a25{ url=null ,addedOrder=0}
            2006-07-20 08:40:56,679 DEBUG [org.jboss.seam.util.Naming] JNDI InitialContext properties:{java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory, java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces}
            2006-07-20 08:40:56,679 DEBUG [org.jboss.seam.util.Naming] JNDI InitialContext properties:{java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory, java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces}
            2006-07-20 08:40:56,679 DEBUG [org.jboss.seam.Component] instantiating Seam component: metadataIngesterJavaBean2
            2006-07-20 08:40:56,695 DEBUG [org.jboss.mx.loading.RepositoryClassLoader] setRepository, repository=org.jboss.mx.loading.HeirarchicalLoaderRepository3@a09a08, cl=org.jboss.mx.loading.HeirarchicalLoaderRepository3$CacheClassLoader@910539{ url=null ,addedOrder=0}
            2006-07-20 08:40:56,695 DEBUG [org.jboss.mx.loading.RepositoryClassLoader] setRepository, repository=org.jboss.mx.loading.HeirarchicalLoaderRepository3@a09a08, cl=org.jboss.mx.loading.HeirarchicalLoaderRepository3$CacheClassLoader@ee1aeb{ url=null ,addedOrder=0}
            2006-07-20 08:40:56,695 DEBUG [org.jboss.mx.loading.RepositoryClassLoader] setRepository, repository=org.jboss.mx.loading.HeirarchicalLoaderRepository3@a09a08, cl=org.jboss.mx.loading.HeirarchicalLoaderRepository3$CacheClassLoader@295b9a{ url=null ,addedOrder=0}
            2006-07-20 08:40:56,695 DEBUG [org.jboss.mx.loading.RepositoryClassLoader] setRepository, repository=org.jboss.mx.loading.HeirarchicalLoaderRepository3@a09a08, cl=org.jboss.mx.loading.HeirarchicalLoaderRepository3$CacheClassLoader@13d0493{ url=null ,addedOrder=0}
            2006-07-20 08:40:56,695 DEBUG [org.jboss.mx.loading.RepositoryClassLoader] setRepository, repository=org.jboss.mx.loading.HeirarchicalLoaderRepository3@a09a08, cl=org.jboss.mx.loading.HeirarchicalLoaderRepository3$CacheClassLoader@f7757c{ url=null ,addedOrder=0}
            2006-07-20 08:40:56,695 DEBUG [org.jboss.mx.loading.RepositoryClassLoader] setRepository, repository=org.jboss.mx.loading.HeirarchicalLoaderRepository3@a09a08, cl=org.jboss.mx.loading.HeirarchicalLoaderRepository3$CacheClassLoader@42299e{ url=null ,addedOrder=0}
            2006-07-20 08:40:56,695 DEBUG [org.jboss.mx.loading.RepositoryClassLoader] setRepository, repository=org.jboss.mx.loading.HeirarchicalLoaderRepository3@a09a08, cl=org.jboss.mx.loading.HeirarchicalLoaderRepository3$CacheClassLoader@1ba5edf{ url=null ,addedOrder=0}
            2006-07-20 08:40:56,695 DEBUG [org.jboss.mx.loading.RepositoryClassLoader] setRepository, repository=org.jboss.mx.loading.HeirarchicalLoaderRepository3@a09a08, cl=org.jboss.mx.loading.HeirarchicalLoaderRepository3$CacheClassLoader@17a0b4d{ url=null ,addedOrder=0}
            2006-07-20 08:40:56,695 DEBUG [org.jboss.mx.loading.RepositoryClassLoader] setRepository, repository=org.jboss.mx.loading.HeirarchicalLoaderRepository3@a09a08, cl=org.jboss.mx.loading.HeirarchicalLoaderRepository3$CacheClassLoader@4654f6{ url=null ,addedOrder=0}
            2006-07-20 08:40:56,695 DEBUG [org.jboss.mx.loading.RepositoryClassLoader] setRepository, repository=org.jboss.mx.loading.HeirarchicalLoaderRepository3@a09a08, cl=org.jboss.mx.loading.HeirarchicalLoaderRepository3$CacheClassLoader@174202a{ url=null ,addedOrder=0}
            2006-07-20 08:40:56,695 DEBUG [org.jbpm.jpdl.el.impl.BeanMethod] invoking expression method 'executeTask'
            2006-07-20 08:40:56,711 DEBUG [org.jboss.mx.loading.RepositoryClassLoader] setRepository, repository=org.jboss.mx.loading.HeirarchicalLoaderRepository3@a09a08, cl=org.jboss.mx.loading.HeirarchicalLoaderRepository3$CacheClassLoader@16ea337{ url=null ,addedOrder=0}
            2006-07-20 08:40:56,726 DEBUG [org.jboss.mx.loading.RepositoryClassLoader] setRepository, repository=org.jboss.mx.loading.HeirarchicalLoaderRepository3@a09a08, cl=org.jboss.mx.loading.HeirarchicalLoaderRepository3$CacheClassLoader@796a61{ url=null ,addedOrder=0}
            2006-07-20 08:40:56,726 ERROR [org.jbpm.graph.def.GraphElement] action threw exception: couldn't evaluate expression '#{metadataIngesterJavaBean2.executeTask}'
            org.jbpm.JbpmException: couldn't evaluate expression '#{metadataIngesterJavaBean2.executeTask}'
            at org.jbpm.jpdl.el.impl.JbpmExpressionEvaluator.evaluate(JbpmExpressionEvaluator.java:37)
            at org.jbpm.graph.def.Action.execute(Action.java:119)
            at org.jbpm.graph.def.GraphElement.executeAction(GraphElement.java:235)
            at org.jbpm.graph.def.GraphElement.executeActions(GraphElement.java:212)
            at org.jbpm.graph.def.GraphElement.fireAndPropagateEvent(GraphElement.java:182)
            at org.jbpm.graph.def.GraphElement.fireEvent(GraphElement.java:166)
            at org.jbpm.taskmgmt.exe.TaskInstance.setActorId(TaskInstance.java:289)
            at org.jbpm.taskmgmt.exe.TaskInstance.setActorId(TaskInstance.java:263)
            at org.jbpm.taskmgmt.exe.TaskMgmtInstance.performAssignmentActorIdExpr(TaskMgmtInstance.java:232)
            at org.jbpm.taskmgmt.exe.TaskMgmtInstance.performAssignment(TaskMgmtInstance.java:196)
            at org.jbpm.taskmgmt.exe.TaskInstance.assign(TaskInstance.java:199)
            at org.jbpm.taskmgmt.exe.TaskMgmtInstance.createTaskInstance(TaskMgmtInstance.java:148)
            at org.jbpm.graph.node.TaskNode.execute(TaskNode.java:167)
            at org.jbpm.graph.def.Node.enter(Node.java:316)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:585)
            at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:208)
            at org.jbpm.graph.def.Node_$$_javassist_454.enter(Node_$$_javassist_454.java)
            at org.jbpm.graph.def.Transition.take(Transition.java:119)
            at org.jbpm.graph.def.Node.leave(Node.java:382)
            at org.jbpm.graph.node.StartState.leave(StartState.java:70)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:585)
            at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:208)
            at org.jbpm.graph.def.Node_$$_javassist_454.leave(Node_$$_javassist_454.java)
            at org.jbpm.graph.exe.Token.signal(Token.java:174)
            at org.jbpm.graph.exe.Token.signal(Token.java:123)
            at org.jbpm.graph.exe.ProcessInstance.signal(ProcessInstance.java:217)
            at org.jboss.seam.interceptors.BusinessProcessInterceptor.createProcess(BusinessProcessInterceptor.java:144)
            at org.jboss.seam.interceptors.BusinessProcessInterceptor.afterInvocation(BusinessProcessInterceptor.java:107)
            at org.jboss.seam.interceptors.BusinessProcessInterceptor.manageBusinessProcessContext(BusinessProcessInterceptor.java:60)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:585)
            at org.jboss.seam.util.Reflections.invoke(Reflections.java:13)
            at org.jboss.seam.interceptors.Interceptor.aroundInvoke(Interceptor.java:90)
            at org.jboss.seam.interceptors.SeamInvocationContext.proceed(SeamInvocationContext.java:60)
            at org.jboss.seam.interceptors.TransactionInterceptor.doInTransactionIfNecessary(TransactionInterceptor.java:34)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:585)
            at org.jboss.seam.util.Reflections.invoke(Reflections.java:13)
            at org.jboss.seam.interceptors.Interceptor.aroundInvoke(Interceptor.java:90)
            at org.jboss.seam.interceptors.SeamInvocationContext.proceed(SeamInvocationContext.java:60)
            at org.jboss.seam.interceptors.RemoveInterceptor.removeIfNecessary(RemoveInterceptor.java:39)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:585)
            at org.jboss.seam.util.Reflections.invoke(Reflections.java:13)
            at org.jboss.seam.interceptors.Interceptor.aroundInvoke(Interceptor.java:90)
            at org.jboss.seam.interceptors.SeamInvocationContext.proceed(SeamInvocationContext.java:60)
            at org.jboss.seam.ejb.SeamInterceptor.aroundInvokeInContexts(SeamInterceptor.java:73)
            at org.jboss.seam.ejb.SeamInterceptor.aroundInvoke(SeamInterceptor.java:45)
            at org.jboss.seam.interceptors.JavaBeanInterceptor.interceptInvocation(JavaBeanInterceptor.java:51)
            at org.jboss.seam.interceptors.JavaBeanInterceptor.intercept(JavaBeanInterceptor.java:39)
            at com.siemens.mcc.actor.metadataingester.MetadataIngesterJavaBean$$EnhancerByCGLIB$$86d897ab.startJbpmprocess()
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:585)
            at org.apache.myfaces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:129)
            at org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:63)
            at javax.faces.component.UICommand.broadcast(UICommand.java:106)
            at javax.faces.component.UIViewRoot._broadcastForPhase(UIViewRoot.java:90)
            at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:164)
            at org.apache.myfaces.lifecycle.LifecycleImpl.invokeApplication(LifecycleImpl.java:316)
            at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:86)
            at javax.faces.webapp.FacesServlet.service(FacesServlet.java:106)
            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
            at org.jboss.seam.servlet.SeamRedirectFilter.doFilter(SeamRedirectFilter.java:30)
            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
            at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
            at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
            at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
            at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
            at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
            at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
            at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
            at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
            at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
            at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
            at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
            at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
            at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
            at java.lang.Thread.run(Thread.java:595)
            Caused by: org.jbpm.jpdl.el.ELException: An error occurred while invoking method "executeTask" on an instance of class com.siemens.mcc.actor.metadataingester.MetadataIngesterJavaBean2$$EnhancerByCGLIB$$e66dc537
            at org.jbpm.jpdl.el.impl.Logger.logError(Logger.java:485)
            at org.jbpm.jpdl.el.impl.Logger.logError(Logger.java:589)
            at org.jbpm.jpdl.el.impl.ArraySuffix.evaluate(ArraySuffix.java:290)
            at org.jbpm.jpdl.el.impl.ComplexValue.evaluate(ComplexValue.java:146)
            at org.jbpm.jpdl.el.impl.ExpressionEvaluatorImpl.evaluate(ExpressionEvaluatorImpl.java:264)
            at org.jbpm.jpdl.el.impl.ExpressionEvaluatorImpl.evaluate(ExpressionEvaluatorImpl.java:191)
            at org.jbpm.jpdl.el.impl.JbpmExpressionEvaluator.evaluate(JbpmExpressionEvaluator.java:34)
            ... 95 more
            2006-07-20 08:40:56,742 DEBUG [org.jboss.mx.loading.RepositoryClassLoader] setRepository, repository=org.jboss.mx.loading.HeirarchicalLoaderRepository3@a09a08, cl=org.jboss.mx.loading.HeirarchicalLoaderRepository3$CacheClassLoader@15321f0{ url=null ,addedOrder=0}
            2006-07-20 08:40:56,742 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/seam-todo].[Faces Servlet]] Servlet.service() for servlet Faces Servlet threw exception
            javax.faces.FacesException: Error calling action method of component with id _id0:_id1
            at org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:74)
            at javax.faces.component.UICommand.broadcast(UICommand.java:106)
            at javax.faces.component.UIViewRoot._broadcastForPhase(UIViewRoot.java:90)
            at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:164)
            at org.apache.myfaces.lifecycle.LifecycleImpl.invokeApplication(LifecycleImpl.java:316)
            at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:86)
            at javax.faces.webapp.FacesServlet.service(FacesServlet.java:106)
            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
            at org.jboss.seam.servlet.SeamRedirectFilter.doFilter(SeamRedirectFilter.java:30)
            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
            at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
            at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
            at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
            at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
            at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
            at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
            at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
            at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
            at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
            at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
            at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
            at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
            at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
            at java.lang.Thread.run(Thread.java:595)
            Caused by: javax.faces.el.EvaluationException: Exception while invoking expression #{metadataIngesterJavaBean.startJbpmprocess}
            at org.apache.myfaces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:153)
            at org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:63)
            ... 27 more
            Caused by: java.lang.reflect.InvocationTargetException
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:585)
            at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:208)
            at org.jbpm.graph.def.Node_$$_javassist_454.leave(Node_$$_javassist_454.java)
            at org.jbpm.graph.exe.Token.signal(Token.java:174)
            at org.jbpm.graph.exe.Token.signal(Token.java:123)
            at org.jbpm.graph.exe.ProcessInstance.signal(ProcessInstance.java:217)
            at org.jboss.seam.interceptors.BusinessProcessInterceptor.createProcess(BusinessProcessInterceptor.java:144)
            at org.jboss.seam.interceptors.BusinessProcessInterceptor.afterInvocation(BusinessProcessInterceptor.java:107)
            at org.jboss.seam.interceptors.BusinessProcessInterceptor.manageBusinessProcessContext(BusinessProcessInterceptor.java:60)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:585)
            at org.jboss.seam.util.Reflections.invoke(Reflections.java:13)
            at org.jboss.seam.interceptors.Interceptor.aroundInvoke(Interceptor.java:90)
            at org.jboss.seam.interceptors.SeamInvocationContext.proceed(SeamInvocationContext.java:60)
            at org.jboss.seam.interceptors.TransactionInterceptor.doInTransactionIfNecessary(TransactionInterceptor.java:34)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:585)
            at org.jboss.seam.util.Reflections.invoke(Reflections.java:13)
            at org.jboss.seam.interceptors.Interceptor.aroundInvoke(Interceptor.java:90)
            at org.jboss.seam.interceptors.SeamInvocationContext.proceed(SeamInvocationContext.java:60)
            at org.jboss.seam.interceptors.RemoveInterceptor.removeIfNecessary(RemoveInterceptor.java:39)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:585)
            at org.jboss.seam.util.Reflections.invoke(Reflections.java:13)
            at org.jboss.seam.interceptors.Interceptor.aroundInvoke(Interceptor.java:90)
            at org.jboss.seam.interceptors.SeamInvocationContext.proceed(SeamInvocationContext.java:60)
            at org.jboss.seam.ejb.SeamInterceptor.aroundInvokeInContexts(SeamInterceptor.java:73)
            at org.jboss.seam.ejb.SeamInterceptor.aroundInvoke(SeamInterceptor.java:45)
            at org.jboss.seam.interceptors.JavaBeanInterceptor.interceptInvocation(JavaBeanInterceptor.java:51)
            at org.jboss.seam.interceptors.JavaBeanInterceptor.intercept(JavaBeanInterceptor.java:39)
            at com.siemens.mcc.actor.metadataingester.MetadataIngesterJavaBean$$EnhancerByCGLIB$$86d897ab.startJbpmprocess()
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:585)
            at org.apache.myfaces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:129)
            ... 28 more
            Caused by: java.lang.reflect.InvocationTargetException
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:585)
            at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:208)
            at org.jbpm.graph.def.Node_$$_javassist_454.enter(Node_$$_javassist_454.java)
            at org.jbpm.graph.def.Transition.take(Transition.java:119)
            at org.jbpm.graph.def.Node.leave(Node.java:382)
            at org.jbpm.graph.node.StartState.leave(StartState.java:70)
            ... 73 more
            Caused by: org.jbpm.graph.def.DelegationException
            at org.jbpm.taskmgmt.exe.TaskMgmtInstance.performAssignment(TaskMgmtInstance.java:208)
            at org.jbpm.taskmgmt.exe.TaskInstance.assign(TaskInstance.java:199)
            at org.jbpm.taskmgmt.exe.TaskMgmtInstance.createTaskInstance(TaskMgmtInstance.java:148)
            at org.jbpm.graph.node.TaskNode.execute(TaskNode.java:167)
            at org.jbpm.graph.def.Node.enter(Node.java:316)
            ... 82 more
            Caused by: java.lang.reflect.InvocationTargetException
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:585)
            at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:208)
            at org.jbpm.graph.node.TaskNode_$$_javassist_425.raiseException(TaskNode_$$_javassist_425.java)
            at org.jbpm.graph.def.GraphElement.raiseException(GraphElement.java:343)
            at org.jbpm.graph.def.GraphElement.executeAction(GraphElement.java:248)
            at org.jbpm.graph.def.GraphElement.executeActions(GraphElement.java:212)
            at org.jbpm.graph.def.GraphElement.fireAndPropagateEvent(GraphElement.java:182)
            at org.jbpm.graph.def.GraphElement.fireEvent(GraphElement.java:166)
            at org.jbpm.taskmgmt.exe.TaskInstance.setActorId(TaskInstance.java:289)
            at org.jbpm.taskmgmt.exe.TaskInstance.setActorId(TaskInstance.java:263)
            at org.jbpm.taskmgmt.exe.TaskMgmtInstance.performAssignmentActorIdExpr(TaskMgmtInstance.java:232)
            at org.jbpm.taskmgmt.exe.TaskMgmtInstance.performAssignment(TaskMgmtInstance.java:196)
            ... 86 more
            Caused by: org.jbpm.graph.def.DelegationException
            at org.jbpm.graph.def.GraphElement.raiseException(GraphElement.java:349)
            at org.jbpm.graph.def.GraphElement.raiseException(GraphElement.java:343)
            ... 101 more
            Caused by: org.jbpm.JbpmException: couldn't evaluate expression '#{metadataIngesterJavaBean2.executeTask}'
            at org.jbpm.jpdl.el.impl.JbpmExpressionEvaluator.evaluate(JbpmExpressionEvaluator.java:37)
            at org.jbpm.graph.def.Action.execute(Action.java:119)
            at org.jbpm.graph.def.GraphElement.executeAction(GraphElement.java:235)
            ... 93 more
            Caused by: org.jbpm.jpdl.el.ELException: An error occurred while invoking method "executeTask" on an instance of class com.siemens.mcc.actor.metadataingester.MetadataIngesterJavaBean2$$EnhancerByCGLIB$$e66dc537
            at org.jbpm.jpdl.el.impl.Logger.logError(Logger.java:485)
            at org.jbpm.jpdl.el.impl.Logger.logError(Logger.java:589)
            at org.jbpm.jpdl.el.impl.ArraySuffix.evaluate(ArraySuffix.java:290)
            at org.jbpm.jpdl.el.impl.ComplexValue.evaluate(ComplexValue.java:146)
            at org.jbpm.jpdl.el.impl.ExpressionEvaluatorImpl.evaluate(ExpressionEvaluatorImpl.java:264)
            at org.jbpm.jpdl.el.impl.ExpressionEvaluatorImpl.evaluate(ExpressionEvaluatorImpl.java:191)
            at org.jbpm.jpdl.el.impl.JbpmExpressionEvaluator.evaluate(JbpmExpressionEvaluator.java:34)
            ... 95 more
            2006-07-20 08:41:33,790 DEBUG [org.jboss.seam.contexts.Lifecycle] >>> Begin call
            2006-07-20 08:41:33,790 DEBUG [org.jboss.seam.contexts.Lifecycle] destroying event context
            2006-07-20 08:41:33,790 DEBUG [org.jboss.seam.Component] instantiating Seam component: org.jboss.seam.core.manager
            2006-07-20 08:41:33,790 DEBUG [org.jboss.seam.contexts.Lifecycle] destroying conversation context
            2006-07-20 08:41:33,790 DEBUG [org.jboss.seam.contexts.Lifecycle] flushing server-side conversation context
            2006-07-20 08:41:33,790 DEBUG [org.jboss.seam.contexts.Lifecycle] <<< End call
            2006-07-20 08:41:33,790 DEBUG [org.jboss.seam.contexts.Lifecycle] >>> Begin call
            2006-07-20 08:41:33,790 DEBUG [org.jboss.seam.contexts.Lifecycle] destroying event context
            2006-07-20 08:41:33,790 DEBUG [org.jboss.seam.Component] instantiating Seam component: org.jboss.seam.core.manager
            2006-07-20 08:41:33,790 DEBUG [org.jboss.seam.contexts.Lifecycle] destroying conversation context
            2006-07-20 08:41:33,790 DEBUG [org.jboss.seam.contexts.Lifecycle] flushing server-side conversation context
            2006-07-20 08:41:33,790 DEBUG [org.jboss.seam.contexts.Lifecycle] <<< End call
            2006-07-20 08:45:56,566 WARN [org.jboss.tm.TransactionImpl] Transaction TransactionImpl:XidImpl[FormatId=257, GlobalId=bez0971c/33, BranchQual=, localId=33] timed out. status=STATUS_ACTIVE

            • 3. Re: seam annotations in components called from a jbpm proces
              tom.baeyens

              when you invoke the bean method with the @EndTask how is the task identified ?

              is it part of the original request ?

              it seems you first start executing a process and then during that process execution (token) you want to end a task. this will only work if the task is not related to that token.

              ps. zitten jullie in den atea in herentals ? (daar heb ik ook nog gezeten:-)

              • 4. Re: seam annotations in components called from a jbpm proces
                be082032

                In the task node I had an event type='task-create',
                in this event I make the call to the seam componentent :
                action expression="#{metadataIngester.execute}

                I supposed that in the task node the task would be identified by jbpm.


                En ja Tom, we zitten inderdaad in herentals (ik ben een collega van Gunther Aerts, jou welbekend? -)

                • 5. Re: seam annotations in components called from a jbpm proces
                  be082032

                  I noticed that the following annotation makes the difference in a seam component:

                  @Intercept(InterceptionType.ALWAYS)

                  I think this is what I needed.

                  • 6. Re: seam annotations in components called from a jbpm proces
                    manuel.gentile

                    do you have found a solution?