1 2 3 4 Previous Next 53 Replies Latest reply on Jun 20, 2007 11:30 AM by gavin.king Go to original post
      • 15. Re: Seam jBPM: use annotation or pages.xml to get next task?

        Oh yeah - thanks for the TaskSelector sample above - I think we can use one or more of those too!

        • 16. Re: Seam jBPM: use annotation or pages.xml to get next task?
          gavin.king

           

          No, it's not a Seam component (no @Name(...)) annotation - does that work? I mean if I put @Name on my custom ActionHandlers, DecisionHandlers, will Seam inject resources into them on invokation of the execute(ExecutionContext executionContext) methods?


          No, of course not, Seam doesn't know anything about them.

          Why don't you just make it a seam component, and call it via the EL, instead of going behind Seam's back? It should be easy to do that, right? Just add an annotation and don't bother implementing the interface anymore...

          • 17. Re: Seam jBPM: use annotation or pages.xml to get next task?
            gavin.king

             

            "bsmithjj" wrote:
            Oh yeah - thanks for the TaskSelector sample above - I think we can use one or more of those too!


            So maybe I should generalize it a bit and make it a built-in component.

            I always assumed that you would typically need to write some code when starting work on a task, but I guess that's not necessarily true.

            • 18. Re: Seam jBPM: use annotation or pages.xml to get next task?
              pmuir

               

              "gavin.king@jboss.com" wrote:
              I always assumed that you would typically need to write some code when starting work on a task, but I guess that's not necessarily true.


              I prefer to navigate to another page, and let that page set itself up (pages.xml or @Create) - fits the pages.xml style better imo.

              • 19. Re: Seam jBPM: use annotation or pages.xml to get next task?

                 

                "petemuir" wrote:
                I prefer to navigate to another page, and let that page set itself up (pages.xml or @Create) - fits the pages.xml style better imo.

                ...and earlier you wrote:
                "petemuir" wrote:
                I worked around this by extending task instance, and adding a viewId property. Then, in the startTask action method, I just returned that viewId as the place to go.


                And after that, Gavin gave his solution using some TaskSelector simply returning the taskname, to be used in navigation rules. Gavin's idea does not require additional information in the process definition XML itself. But that might not be such a huge advantage at all: the jPDL XSD often accepts xsd:any, so probably allows for you additional viewId attribute without any changes. And one might also add Seam EL in the process definition, which makes them Seam-specific as well.

                So: are you saying you prefer your solution, or Gavin's, or would you like some other enhancements to make things even be better?

                Arjan.


                • 20. Re: Seam jBPM: use annotation or pages.xml to get next task?
                  tom.baeyens

                   

                  "petemuir" wrote:
                  The only issues I'm aware of are more JBPM than Seam

                  * JBPM could do with better/more EL interpretation - for example you can't do
                  <task description="This is an #{foo.bar}" />
                  as it only uses the EL interpreter if the string starts with #{


                  strange. there is an exact test case for this kind of expression evaluation. where the description doesn't start with #{

                  if there is any specific details on how i can reproduce.

                  "petemuir" wrote:

                  * Easier to put custom variables on a task (this is currently a pita, you have to declare custom taskinstances, assginment handlers)

                  I'll put them in JBPM's JIRA when i remember


                  it would be great to know what features exactly you're looking for.
                  there are a big number of features planned for jpdl 4. but if there is anything specific we can patch in the 3 series, let me know in the jbpm jira.

                  • 21. Re: Seam jBPM: use annotation or pages.xml to get next task?
                    pmuir

                     

                    "avbentem" wrote:
                    But that might not be such a huge advantage at all: the jPDL XSD often accepts xsd:any, so probably allows for you additional viewId attribute without any changes. And one might also add Seam EL in the process definition, which makes them Seam-specific as well.


                    I didn't have to alter the xsd, just extend TaskInstance, extend its mapping file, and configure JBPM to create the extended TaskInstance in a factory

                    So: are you saying you prefer your solution, or Gavin's, or would you like some other enhancements to make things even be better?


                    Gavin's is less work :) - I wanted some other stuff stored on each task e.g. the task creator, the "package" (so I could easily say "Give me all recruitment tasks") so it was easy to add a viewId attribute as well (and also, I wanted to be able to include the task resolution page inside a tab, and not just navigate to it).

                    • 22. Re: Seam jBPM: use annotation or pages.xml to get next task?

                       

                      "gavin.king@jboss.com" wrote:
                      No, it's not a Seam component (no @Name(...)) annotation - does that work? I mean if I put @Name on my custom ActionHandlers, DecisionHandlers, will Seam inject resources into them on invokation of the execute(ExecutionContext executionContext) methods?


                      No, of course not, Seam doesn't know anything about them.

                      Why don't you just make it a seam component, and call it via the EL, instead of going behind Seam's back? It should be easy to do that, right? Just add an annotation and don't bother implementing the interface anymore...


                      I'm a bit lost on which class you're saying should be a seam component in your last paragraph. It sounds like you're saying I can't make an ActionHandler into a Seam component and then you're saying I should make it a Seam component...

                      Let me give a brief specific example of what I am trying to do and you can tell me what's wrong with it:

                      Here I have a state in my process definition:
                       <state name="Provision Response">
                       <event type="node-enter">
                       <!-- on entry, fire the auto provision action -->
                       <action class="com.evergreen.accesscontrol.jbpmaction.AutoProvisionAction"/>
                       </event>
                       <transition name="ProvisionSuccess" to="end approval request"></transition>
                       <transition name="ProvisionFailure" to="end approval request"></transition>
                       </state>
                      


                      And here is the AutoProvisionAction:

                      public class AutoProvisionAction implements ActionHandler {
                      
                       private Log log = LogFactory.getLog(AutoProvisionAction.class);
                      
                       public void execute(ExecutionContext executionContext) throws Exception {
                       final EntityManager em = (EntityManager) Component.getInstance("accessControlDatabase");
                       long accessRequestId = (Long) executionContext.getVariable("accessRequestId");
                      
                       AccessRequest accessRequest = null;
                       User user = null;
                      
                       try {
                       accessRequest = (AccessRequest) em.createQuery(
                       "from AccessRequest a fetch all properties where a.id=:id"
                       ).setParameter("id", accessRequestId)
                       .getSingleResult();
                       EntitlementStorageType entStorageType = accessRequest.getApplication().getEntitlementStorageType();
                       if (accessRequest.getApplication().getEntitlementStorageType() != null) {
                       log.info("EntitlementStorageType=" + accessRequest.getApplication().getEntitlementStorageType().getName());
                       }
                      
                       if (AccessRequestType.Change == accessRequest.getRequestType()) {
                       try {
                       user = (User) em.createQuery
                       ("from User u where u.application.id = :appId and userid = :userid")
                       .setParameter("appId", accessRequest.getApplication().getId())
                       .setParameter("userid", accessRequest.getUserId())
                       .setHint("org.hibernate.readOnly", Boolean.TRUE)
                       .getSingleResult();
                       } catch (NoResultException e) {
                       log.error(
                       "Can't find User (userid=" + accessRequest.getUserId() +
                       ") for AccessRequest.id=" + accessRequestId
                       + ". Task should be completed in an error state..."
                       );
                       log.error("automatic provisioning will not be attempted");
                       return;
                       }
                      
                       }
                       AccessOperationDocument accessOperationDocument = EvergreenSecurityAdaptorUtility
                       .convertAccessRequestToAccessOperationDocument(
                       accessRequest, String.valueOf(executionContext.getProcessInstance().getId()), user
                       );
                      
                       if (accessOperationDocument == null) {
                       log.error("There was a problem creating the AccessOperationDocument for Evergreen-Security Auto-Provisioning.");
                       log.error("TODO - close task in an error state when this occurs");
                       log.error("automatic provisioning will not be attempted");
                       return;
                       }
                       JMSSender jmsSender = (JMSSender) Component.getInstance("simpleJmsSender");
                       jmsSender.sendMessage(accessOperationDocument.xmlText());
                       } catch (NoResultException e) {
                       log.error("Can't load AccessRequest for id=" + accessRequestId + ". Task should be completed in an error state...");
                       }
                       }
                      
                      }
                      


                      notice I need to acquire some resources that typically Seam would inject into a session bean - anywhere there is Component.getInstance(...) I use @In or @EJB in my Seam components. I was having so many NO_TRANSACTION issues when I tried to keep this logic in a session bean, I struggled with this for a while and ultimately I found that by using Component to get the desired resources and implementing the logic in place that you see here (which formerly was in a session bean), I was able to do what I needed without running into transactional issues. Basically, If I do all the work associated with an ActionHandler in place, I do not run into transaction problems, the moment that I cross the EJB-method invokation line, transaction issues arise.

                      It would be ideal if jBPM Handlers (ActionHandler, DecisionHandler, etc.) could be first class Seam components and have Seam intercept execute() invokations and @Inject/@Outject resources.

                      • 23. Re: Seam jBPM: use annotation or pages.xml to get next task?
                        pmuir

                         

                        "tom.baeyens@jboss.com" wrote:
                        strange. there is an exact test case for this kind of expression evaluation. where the description doesn't start with #{

                        if there is any specific details on how i can reproduce.


                        I was probably wrong ;) I can't reproduce, sorry :(

                        it would be great to know what features exactly you're looking for.
                        there are a big number of features planned for jpdl 4. but if there is anything specific we can patch in the 3 series, let me know in the jbpm jira.


                        Essentially a *simpler* way of adding variables to a task instance, but I'll think about it and try to come up with a coherent description.

                        • 24. Re: Seam jBPM: use annotation or pages.xml to get next task?
                          gavin.king

                           

                          It would be ideal if jBPM Handlers (ActionHandler, DecisionHandler, etc.) could be first class Seam components and have Seam intercept execute() invokations and @Inject/@Outject resources.


                          What I'm saying is that any Seam component can be an action handler or decision handler! You just have to call it via EL in the jPDL! AFAIK, there is never any reason to implement ActionHandler or DecisionHandler directly when you are using Seam.

                          Does that make sense?

                          • 25. Re: Seam jBPM: use annotation or pages.xml to get next task?

                             

                            "gavin.king@jboss.com" wrote:
                            It would be ideal if jBPM Handlers (ActionHandler, DecisionHandler, etc.) could be first class Seam components and have Seam intercept execute() invokations and @Inject/@Outject resources.


                            What I'm saying is that any Seam component can be an action handler or decision handler! You just have to call it via EL in the jPDL! AFAIK, there is never any reason to implement ActionHandler or DecisionHandler directly when you are using Seam.

                            Does that make sense?


                            That makes sense - I will try it out.

                            Thanks very much!

                            • 26. Re: Seam jBPM: use annotation or pages.xml to get next task?

                              This trial didn't go so well....

                               <state name="Provision Response">
                               <event type="node-enter">
                               <!-- on entry, fire the auto provision action -->
                               <!--action class="com.evergreen.accesscontrol.jbpmaction.AutoProvisionAction"/-->
                               <action expression="#{autoProvisioner.provisionAccess}"/>
                               </event>
                               <transition name="ProvisionSuccess" to="end approval request"></transition>
                               <transition name="ProvisionFailure" to="end approval request"></transition>
                               </state>
                              


                              @Local
                              public interface AutoProvisioner {
                              
                               String provisionAccess();
                              
                              }
                              


                              @Stateless
                              @Name("autoProvisioner")
                              public class AutoProvisionerBean implements AutoProvisioner {
                              
                               @Logger
                               private Log log;
                              
                               @PersistenceContext(unitName = "accessControlDatabase")
                               private EntityManager em;
                              
                               @In(create = true)
                               private JMSSender simpleJmsSender;
                              
                               @In
                               private JbpmContext jbpmContext;
                              
                               @In
                               private ProcessInstance processInstance;
                              
                               public String provisionAccess() {
                               log.info("---------------------> provisionAccess(): Resource Check");
                               log.info("JbpmContext -> " + jbpmContext);
                               log.info("EntityManager (em) -> " + em);
                               log.info("ProcessInstance -> "+processInstance);
                               ...
                               return "something?";
                               }
                              }
                              


                              17:00:12,303 WARN org.hibernate.engine.StatefulPersistenceContext.ProxyWarnLog - Narrowing proxy to class org.jbpm.graph.node.State - this operation breaks ==
                              17:00:12,349 ERROR org.jbpm.graph.def.GraphElement - action threw exception: couldn't evaluate expression '#{autoProvisioner.provisionAccess}'
                              org.jbpm.JbpmException: couldn't evaluate expression '#{autoProvisioner.provisionAccess}'
                               at org.jbpm.jpdl.el.impl.JbpmExpressionEvaluator.evaluate(JbpmExpressionEvaluator.java:38)
                               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.graph.def.Node.enter(Node.java:301)
                               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_218.enter(Node_$$_javassist_218.java)
                               at org.jbpm.graph.def.Transition.take(Transition.java:119)
                               at org.jbpm.graph.def.Node.leave(Node.java:383)
                               at org.jbpm.graph.exe.ExecutionContext.leaveNode(ExecutionContext.java:136)
                               at org.jbpm.graph.node.Decision.execute(Decision.java:146)
                               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_218.enter(Node_$$_javassist_218.java)
                               at org.jbpm.graph.def.Transition.take(Transition.java:119)
                               at org.jbpm.graph.def.Node.leave(Node.java:383)
                               at org.jbpm.graph.exe.ExecutionContext.leaveNode(ExecutionContext.java:136)
                               at org.jbpm.graph.node.Decision.execute(Decision.java:146)
                               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_218.enter(Node_$$_javassist_218.java)
                               at org.jbpm.graph.def.Transition.take(Transition.java:119)
                               at org.jbpm.graph.def.Node.leave(Node.java:383)
                               at org.jbpm.graph.node.TaskNode.leave(TaskNode.java:198)
                               at org.jbpm.graph.exe.Token.signal(Token.java:178)
                               at org.jbpm.graph.exe.Token.signal(Token.java:149)
                               at org.jbpm.taskmgmt.exe.TaskInstance.end(TaskInstance.java:443)
                               at org.jbpm.taskmgmt.exe.TaskInstance.end(TaskInstance.java:382)
                               at com.evergreen.accesscontrol.impl.AccessRequestManagerBean.sendRequestAndApprove(AccessRequestManagerBean.java:750)
                               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.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:112)
                               at org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:166)
                               at org.jboss.seam.intercept.EJBInvocationContext.proceed(EJBInvocationContext.java:37)
                               at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:57)
                               at org.jboss.seam.interceptors.BijectionInterceptor.aroundInvoke(BijectionInterceptor.java:47)
                               at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:69)
                               at org.jboss.seam.interceptors.ConversationInterceptor.aroundInvoke(ConversationInterceptor.java:54)
                               at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:69)
                               at org.jboss.seam.interceptors.BusinessProcessInterceptor.aroundInvoke(BusinessProcessInterceptor.java:51)
                               at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:69)
                               at org.jboss.seam.interceptors.ConversationalInterceptor.aroundInvoke(ConversationalInterceptor.java:89)
                               at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:69)
                               at org.jboss.seam.interceptors.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:27)
                               at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:69)
                               at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:103)
                               at org.jboss.seam.intercept.SessionBeanInterceptor.aroundInvoke(SessionBeanInterceptor.java:53)
                               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.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:118)
                               at org.jboss.ejb3.interceptor.EJB3InterceptorsInterceptor.invoke(EJB3InterceptorsInterceptor.java:63)
                               at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
                               at org.jboss.ejb3.entity.ExtendedPersistenceContextPropagationInterceptor.invoke(ExtendedPersistenceContextPropagationInterceptor.java:57)
                               at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
                               at org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke(TransactionScopedEntityManagerInterceptor.java:54)
                               at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
                               at org.jboss.ejb3.AllowedOperationsInterceptor.invoke(AllowedOperationsInterceptor.java:47)
                               at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
                               at org.jboss.aspects.tx.TxPolicy.invokeInCallerTx(TxPolicy.java:126)
                               at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:201)
                               at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
                               at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:76)
                               at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
                               at org.jboss.ejb3.stateful.StatefulInstanceInterceptor.invoke(StatefulInstanceInterceptor.java:81)
                               at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
                               at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:78)
                               at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
                               at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:47)
                               at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
                               at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
                               at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
                               at org.jboss.ejb3.stateful.StatefulContainer.localInvoke(StatefulContainer.java:188)
                               at org.jboss.ejb3.stateful.StatefulLocalProxy.invoke(StatefulLocalProxy.java:98)
                               at $Proxy724.sendRequestAndApprove(Unknown Source)
                               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:20)
                               at org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:31)
                               at org.jboss.seam.intercept.ClientSideInterceptor$1.proceed(ClientSideInterceptor.java:72)
                               at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:57)
                               at org.jboss.seam.interceptors.RemoveInterceptor.aroundInvoke(RemoveInterceptor.java:40)
                               at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:69)
                               at org.jboss.seam.interceptors.SynchronizationInterceptor.aroundInvoke(SynchronizationInterceptor.java:31)
                               at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:69)
                               at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:103)
                               at org.jboss.seam.intercept.ClientSideInterceptor.invoke(ClientSideInterceptor.java:50)
                               at org.javassist.tmp.java.lang.Object_$$_javassist_258.sendRequestAndApprove(Object_$$_javassist_258.java)
                               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 com.sun.el.parser.AstValue.invoke(AstValue.java:151)
                               at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:283)
                               at com.sun.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:68)
                               at com.sun.facelets.el.LegacyMethodBinding.invoke(LegacyMethodBinding.java:69)
                               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:94)
                               at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:168)
                               at org.apache.myfaces.lifecycle.LifecycleImpl.invokeApplication(LifecycleImpl.java:343)
                               at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:86)
                               at javax.faces.webapp.FacesServlet.service(FacesServlet.java:137)
                               at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
                               at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
                               at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:97)
                               at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
                               at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
                               at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:144)
                               at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
                               at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
                               at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:57)
                               at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
                               at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
                               at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
                               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 com.evergreen.fastpass.catalina.CASSSOAuthenticatorValve.invoke(CASSSOAuthenticatorValve.java:373)
                               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: java.lang.RuntimeException: java.lang.IllegalArgumentException: could not set field value: autoProvisioner.log
                               at org.jboss.ejb3.interceptor.LifecycleInterceptorHandler.postConstruct(LifecycleInterceptorHandler.java:109)
                               at org.jboss.ejb3.EJBContainer.invokePostConstruct(EJBContainer.java:582)
                               at org.jboss.ejb3.AbstractPool.create(AbstractPool.java:108)
                               at org.jboss.ejb3.ThreadlocalPool.get(ThreadlocalPool.java:48)
                               at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:54)
                               at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
                               at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:78)
                               at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
                               at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:47)
                               at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
                               at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
                               at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
                               at org.jboss.ejb3.stateless.StatelessContainer.localInvoke(StatelessContainer.java:181)
                               at org.jboss.ejb3.stateless.StatelessLocalProxy.invoke(StatelessLocalProxy.java:79)
                               at $Proxy750.provisionAccess(Unknown Source)
                               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:20)
                               at org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:31)
                               at org.jboss.seam.intercept.ClientSideInterceptor$1.proceed(ClientSideInterceptor.java:72)
                               at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:57)
                               at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:103)
                               at org.jboss.seam.intercept.ClientSideInterceptor.invoke(ClientSideInterceptor.java:50)
                               at org.javassist.tmp.java.lang.Object_$$_javassist_279.provisionAccess(Object_$$_javassist_279.java)
                               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.jbpm.jpdl.el.impl.BeanMethod.invoke(BeanMethod.java:19)
                               at org.jbpm.jpdl.el.impl.ArraySuffix.evaluate(ArraySuffix.java:287)
                               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)
                               ... 152 more
                              Caused by: java.lang.IllegalArgumentException: could not set field value: autoProvisioner.log
                               at org.jboss.seam.Component.setFieldValue(Component.java:1559)
                               at org.jboss.seam.Component.injectLog(Component.java:1218)
                               at org.jboss.seam.Component.initialize(Component.java:1163)
                               at org.jboss.seam.intercept.RootInterceptor.postConstruct(RootInterceptor.java:64)
                               at org.jboss.seam.intercept.SessionBeanInterceptor.postConstruct(SessionBeanInterceptor.java:119)
                               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.ejb3.interceptor.LifecycleInvocationContextImpl.proceed(LifecycleInvocationContextImpl.java:131)
                               at org.jboss.ejb3.interceptor.LifecycleInterceptorHandler.postConstruct(LifecycleInterceptorHandler.java:105)
                               ... 187 more
                              Caused by: java.lang.IllegalArgumentException: Could not set field value by reflection: AutoProvisionerBean.log on: com.evergreen.accesscontrol.impl.AutoProvisionerBean with value: class org.jboss.sea
                              m.log.LogImpl
                               at org.jboss.seam.util.Reflections.set(Reflections.java:77)
                               at org.jboss.seam.Component.setFieldValue(Component.java:1555)
                               ... 197 more
                              Caused by: java.lang.IllegalArgumentException
                               at sun.reflect.UnsafeObjectFieldAccessorImpl.set(UnsafeObjectFieldAccessorImpl.java:63)
                               at java.lang.reflect.Field.set(Field.java:656)
                               at org.jboss.seam.util.Reflections.set(Reflections.java:63)
                               ... 198 more
                              17:00:12,412 ERROR com.evergreen.accesscontrol.impl.AccessRequestManagerBean - java.lang.reflect.InvocationTargetException
                              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_218.enter(Node_$$_javassist_218.java)
                               at org.jbpm.graph.def.Transition.take(Transition.java:119)
                               at org.jbpm.graph.def.Node.leave(Node.java:383)
                               at org.jbpm.graph.node.TaskNode.leave(TaskNode.java:198)
                               at org.jbpm.graph.exe.Token.signal(Token.java:178)
                               at org.jbpm.graph.exe.Token.signal(Token.java:149)
                               at org.jbpm.taskmgmt.exe.TaskInstance.end(TaskInstance.java:443)
                               at org.jbpm.taskmgmt.exe.TaskInstance.end(TaskInstance.java:382)
                               at com.evergreen.accesscontrol.impl.AccessRequestManagerBean.sendRequestAndApprove(AccessRequestManagerBean.java:750)
                               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.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:112)
                               at org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:166)
                               at org.jboss.seam.intercept.EJBInvocationContext.proceed(EJBInvocationContext.java:37)
                               at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:57)
                               at org.jboss.seam.interceptors.BijectionInterceptor.aroundInvoke(BijectionInterceptor.java:47)
                               at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:69)
                               at org.jboss.seam.interceptors.ConversationInterceptor.aroundInvoke(ConversationInterceptor.java:54)
                               at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:69)
                               at org.jboss.seam.interceptors.BusinessProcessInterceptor.aroundInvoke(BusinessProcessInterceptor.java:51)
                               at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:69)
                               at org.jboss.seam.interceptors.ConversationalInterceptor.aroundInvoke(ConversationalInterceptor.java:89)
                               at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:69)
                               at org.jboss.seam.interceptors.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:27)
                               at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:69)
                               at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:103)
                               at org.jboss.seam.intercept.SessionBeanInterceptor.aroundInvoke(SessionBeanInterceptor.java:53)
                               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.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:118)
                               at org.jboss.ejb3.interceptor.EJB3InterceptorsInterceptor.invoke(EJB3InterceptorsInterceptor.java:63)
                               at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
                               at org.jboss.ejb3.entity.ExtendedPersistenceContextPropagationInterceptor.invoke(ExtendedPersistenceContextPropagationInterceptor.java:57)
                               at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
                               at org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke(TransactionScopedEntityManagerInterceptor.java:54)
                               at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
                               at org.jboss.ejb3.AllowedOperationsInterceptor.invoke(AllowedOperationsInterceptor.java:47)
                               at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
                               at org.jboss.aspects.tx.TxPolicy.invokeInCallerTx(TxPolicy.java:126)
                               at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:201)
                               at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
                               at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:76)
                               at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
                               at org.jboss.ejb3.stateful.StatefulInstanceInterceptor.invoke(StatefulInstanceInterceptor.java:81)
                               at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
                               at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:78)
                               at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
                               at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:47)
                               at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
                               at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
                               at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
                               at org.jboss.ejb3.stateful.StatefulContainer.localInvoke(StatefulContainer.java:188)
                               at org.jboss.ejb3.stateful.StatefulLocalProxy.invoke(StatefulLocalProxy.java:98)
                               at $Proxy724.sendRequestAndApprove(Unknown Source)
                               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:20)
                               at org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:31)
                               at org.jboss.seam.intercept.ClientSideInterceptor$1.proceed(ClientSideInterceptor.java:72)
                               at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:57)
                               at org.jboss.seam.interceptors.RemoveInterceptor.aroundInvoke(RemoveInterceptor.java:40)
                               at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:69)
                               at org.jboss.seam.interceptors.SynchronizationInterceptor.aroundInvoke(SynchronizationInterceptor.java:31)
                               at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:69)
                               at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:103)
                               at org.jboss.seam.intercept.ClientSideInterceptor.invoke(ClientSideInterceptor.java:50)
                               at org.javassist.tmp.java.lang.Object_$$_javassist_258.sendRequestAndApprove(Object_$$_javassist_258.java)
                               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 com.sun.el.parser.AstValue.invoke(AstValue.java:151)
                               at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:283)
                               at com.sun.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:68)
                               at com.sun.facelets.el.LegacyMethodBinding.invoke(LegacyMethodBinding.java:69)
                               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:94)
                               at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:168)
                               at org.apache.myfaces.lifecycle.LifecycleImpl.invokeApplication(LifecycleImpl.java:343)
                               at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:86)
                               at javax.faces.webapp.FacesServlet.service(FacesServlet.java:137)
                               at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
                               at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
                               at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:97)
                               at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
                               at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
                               at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:144)
                               at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
                               at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
                               at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:57)
                               at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
                               at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
                               at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
                               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 com.evergreen.fastpass.catalina.CASSSOAuthenticatorValve.invoke(CASSSOAuthenticatorValve.java:373)
                               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: 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_218.enter(Node_$$_javassist_218.java)
                               at org.jbpm.graph.def.Transition.take(Transition.java:119)
                               at org.jbpm.graph.def.Node.leave(Node.java:383)
                               at org.jbpm.graph.exe.ExecutionContext.leaveNode(ExecutionContext.java:136)
                               at org.jbpm.graph.node.Decision.execute(Decision.java:146)
                               at org.jbpm.graph.def.Node.enter(Node.java:316)
                               ... 124 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_218.enter(Node_$$_javassist_218.java)
                               at org.jbpm.graph.def.Transition.take(Transition.java:119)
                               at org.jbpm.graph.def.Node.leave(Node.java:383)
                               at org.jbpm.graph.exe.ExecutionContext.leaveNode(ExecutionContext.java:136)
                               at org.jbpm.graph.node.Decision.execute(Decision.java:146)
                               at org.jbpm.graph.def.Node.enter(Node.java:316)
                               ... 135 more
                              Caused by: org.jbpm.graph.def.DelegationException
                               at org.jbpm.graph.def.GraphElement.raiseException(GraphElement.java:352)
                               at org.jbpm.graph.def.GraphElement.raiseException(GraphElement.java:346)
                               at org.jbpm.graph.def.GraphElement.executeAction(GraphElement.java:249)
                               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.graph.def.Node.enter(Node.java:301)
                               ... 146 more
                              Caused by: org.jbpm.JbpmException: couldn't evaluate expression '#{autoProvisioner.provisionAccess}'
                               at org.jbpm.jpdl.el.impl.JbpmExpressionEvaluator.evaluate(JbpmExpressionEvaluator.java:38)
                               at org.jbpm.graph.def.Action.execute(Action.java:119)
                               at org.jbpm.graph.def.GraphElement.executeAction(GraphElement.java:235)
                               ... 150 more
                              Caused by: java.lang.RuntimeException: java.lang.IllegalArgumentException: could not set field value: autoProvisioner.log
                               at org.jboss.ejb3.interceptor.LifecycleInterceptorHandler.postConstruct(LifecycleInterceptorHandler.java:109)
                               at org.jboss.ejb3.EJBContainer.invokePostConstruct(EJBContainer.java:582)
                               at org.jboss.ejb3.AbstractPool.create(AbstractPool.java:108)
                               at org.jboss.ejb3.ThreadlocalPool.get(ThreadlocalPool.java:48)
                               at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:54)
                               at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
                               at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:78)
                               at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
                               at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:47)
                               at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
                               at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
                               at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
                               at org.jboss.ejb3.stateless.StatelessContainer.localInvoke(StatelessContainer.java:181)
                               at org.jboss.ejb3.stateless.StatelessLocalProxy.invoke(StatelessLocalProxy.java:79)
                               at $Proxy750.provisionAccess(Unknown Source)
                               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:20)
                               at org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:31)
                               at org.jboss.seam.intercept.ClientSideInterceptor$1.proceed(ClientSideInterceptor.java:72)
                               at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:57)
                               at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:103)
                               at org.jboss.seam.intercept.ClientSideInterceptor.invoke(ClientSideInterceptor.java:50)
                               at org.javassist.tmp.java.lang.Object_$$_javassist_279.provisionAccess(Object_$$_javassist_279.java)
                               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.jbpm.jpdl.el.impl.BeanMethod.invoke(BeanMethod.java:19)
                               at org.jbpm.jpdl.el.impl.ArraySuffix.evaluate(ArraySuffix.java:287)
                               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)
                               ... 152 more
                              Caused by: java.lang.IllegalArgumentException: could not set field value: autoProvisioner.log
                               at org.jboss.seam.Component.setFieldValue(Component.java:1559)
                               at org.jboss.seam.Component.injectLog(Component.java:1218)
                               at org.jboss.seam.Component.initialize(Component.java:1163)
                               at org.jboss.seam.intercept.RootInterceptor.postConstruct(RootInterceptor.java:64)
                               at org.jboss.seam.intercept.SessionBeanInterceptor.postConstruct(SessionBeanInterceptor.java:119)
                               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.ejb3.interceptor.LifecycleInvocationContextImpl.proceed(LifecycleInvocationContextImpl.java:131)
                               at org.jboss.ejb3.interceptor.LifecycleInterceptorHandler.postConstruct(LifecycleInterceptorHandler.java:105)
                               ... 187 more
                              Caused by: java.lang.IllegalArgumentException: Could not set field value by reflection: AutoProvisionerBean.log on: com.evergreen.accesscontrol.impl.AutoProvisionerBean with value: class org.jboss.sea
                              m.log.LogImpl
                               at org.jboss.seam.util.Reflections.set(Reflections.java:77)
                               at org.jboss.seam.Component.setFieldValue(Component.java:1555)
                               ... 197 more
                              Caused by: java.lang.IllegalArgumentException
                               at sun.reflect.UnsafeObjectFieldAccessorImpl.set(UnsafeObjectFieldAccessorImpl.java:63)
                               at java.lang.reflect.Field.set(Field.java:656)
                               at org.jboss.seam.util.Reflections.set(Reflections.java:63)
                               ... 198 more
                              


                              what am I doing wrong here?

                              Thanks

                              • 27. Re: Seam jBPM: use annotation or pages.xml to get next task?

                                 

                                "bsmithjj" wrote:
                                Caused by: java.lang.IllegalArgumentException: Could not set field value by reflection: AutoProvisionerBean.log on: com.evergreen.accesscontrol.impl.AutoProvisionerBean with value: class org.jboss.seam.log.LogImpl


                                I guess your Java imports still refer to some non-Seam logger?

                                In other words, try something like (I'm not sure about the exact package name):
                                import org.jboss.seam.log.Log;
                                :
                                @Logger
                                private Log log;

                                Arjan.

                                • 28. Re: Seam jBPM: use annotation or pages.xml to get next task?

                                   

                                  "avbentem" wrote:
                                  import org.jboss.seam.log.Log;
                                  :
                                  @Logger
                                  private Log log;


                                  ...and you know you can then use:

                                  log.info("EntityManager (em) -> #0", em);


                                  Saves some String concatenation when the message is somehow suppressed by the logging setup.

                                  Arjan.

                                  • 29. Re: Seam jBPM: use annotation or pages.xml to get next task?

                                    Oops! My bad on the logger - I blindly accepted IDEA's suggestion to import commons logging.

                                    Anyway, what the heck is in scope when this fires? I thought that the ProcessInstance for which this ActionHandler is firing should be so, I injected ProcessInstance and apparently it's not...

                                    Caused by: javax.ejb.EJBTransactionRolledbackException: org.jboss.seam.RequiredException: In attribute requires non-null value: autoProvisioner.processInstanc
                                     at org.jboss.ejb3.tx.Ejb3TxPolicy.handleInCallerTx(Ejb3TxPolicy.java:93)
                                     at org.jboss.aspects.tx.TxPolicy.invokeInCallerTx(TxPolicy.java:130)
                                     at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:201)
                                     at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
                                     at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:76)
                                     at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
                                     at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:62)
                                     at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
                                     at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:78)
                                     at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
                                     at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:47)
                                     at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
                                     at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
                                     at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
                                     at org.jboss.ejb3.stateless.StatelessContainer.localInvoke(StatelessContainer.java:181)
                                     at org.jboss.ejb3.stateless.StatelessLocalProxy.invoke(StatelessLocalProxy.java:79)
                                     at $Proxy256.provisionAccess(Unknown Source)
                                     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:20)
                                     at org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:31)
                                     at org.jboss.seam.intercept.ClientSideInterceptor$1.proceed(ClientSideInterceptor.java:72)
                                     at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:57)
                                     at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:103)
                                     at org.jboss.seam.intercept.ClientSideInterceptor.invoke(ClientSideInterceptor.java:50)
                                     at org.javassist.tmp.java.lang.Object_$$_javassist_125.provisionAccess(Object_$$_javassist_125.java)
                                     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.jbpm.jpdl.el.impl.BeanMethod.invoke(BeanMethod.java:19)
                                     at org.jbpm.jpdl.el.impl.ArraySuffix.evaluate(ArraySuffix.java:287)
                                     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)
                                     ... 152 more
                                    Caused by: org.jboss.seam.RequiredException: In attribute requires non-null value: autoProvisioner.processInstance
                                     at org.jboss.seam.Component.getValueToInject(Component.java:1919)
                                     at org.jboss.seam.Component.injectAttributes(Component.java:1368)
                                     at org.jboss.seam.Component.inject(Component.java:1195)
                                     at org.jboss.seam.interceptors.BijectionInterceptor.aroundInvoke(BijectionInterceptor.java:46)
                                     at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:69)
                                     at org.jboss.seam.interceptors.BusinessProcessInterceptor.aroundInvoke(BusinessProcessInterceptor.java:51)
                                     at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:69)
                                     at org.jboss.seam.interceptors.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:27)
                                     at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:69)
                                     at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:103)
                                     at org.jboss.seam.intercept.SessionBeanInterceptor.aroundInvoke(SessionBeanInterceptor.java:53)
                                     at sun.reflect.GeneratedMethodAccessor214.invoke(Unknown Source)
                                     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                                     at java.lang.reflect.Method.invoke(Method.java:585)
                                     at org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:118)
                                     at org.jboss.ejb3.interceptor.EJB3InterceptorsInterceptor.invoke(EJB3InterceptorsInterceptor.java:63)
                                     at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
                                     at org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke(TransactionScopedEntityManagerInterceptor.java:54)
                                     at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
                                     at org.jboss.ejb3.AllowedOperationsInterceptor.invoke(AllowedOperationsInterceptor.java:47)
                                     at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
                                     at org.jboss.aspects.tx.TxPolicy.invokeInCallerTx(TxPolicy.java:126)
                                     ... 188 more
                                    


                                    Given the documentation for both Seam and jBPM on this subject, it's now a guessing game as to what subset of the Seam jBPM components are available and refer to something rational - this is why in my first responseon this post topic I gave mixed review on seam + jbpm - I don't want to guess what's going on all the time and always have to search the forum, and all the examle projects for additional guesses...

                                    Thanks