I have a jBPM process, with actions fired from various nodes (to send 
notification emails).

My backing bean is a SFSB, that retrieve business process variables by 
injection.

The problem is that injection is working well from every action method cal, 
EXCEPT when action method is called from start node : injected variables are 
null, although they exist in the business process context.

My jBPM graph :


  | <process-definition  name="EventApproval"
  |                           xmlns="urn:jbpm.org:jpdl-3.1"
  |                        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
  |                                                     
xsi:schemaLocation="urn:jbpm.org:jpdl-3.1 http://jbpm.org/xsd/jpdl-3.1.xsd";
  |                                                     >
  |   
  |     <start-state name="event submission">
  |             <transition to="local head of business unit approval">
  |                     <action 
expression="#{processManager.sendMailTo('LOCAL_HEAD_OF_BUSINESS_UNIT')}"/>
  |             </transition>
  |     </start-state>
  | 
  | 
  |     <task-node name="local head of business unit approval"> 
  |             ...
  |     </task-node>
  | 
  |     <decision name="decision1" expression="#{...}">
  |             <transition to="event approved" name="? $10.000"></transition>
  |             <transition to="local head of business line approval" name="? 
$10.000">
  |                     <action 
expression="#{processManager.sendMailTo('LOCAL_HEAD_OF_BUSINESS_LINE')}"/>
  |             </transition>
  |     </decision>
  | 
  | ...
  | 
  | 

My SFSB code :


  | @Stateful
  | @Name("processManager")
  | public class ProcessManagerAction implements ProcessManager
  | {
  |     //
  |     // Business Process Variables
  |     //
  |     
  |     @In(required=false)
  |     @Out(scope=ScopeType.BUSINESS_PROCESS, required=false)
  |     @NotEmpty 
  |     String eventName;
  |     
  |     @In(required=false)
  |     @Out(scope=ScopeType.BUSINESS_PROCESS, required=false)
  |     @NotEmpty 
  |     Long requesterId;
  | 
  |         ...
  | 
  |         public void sendMailTo(Responsible resp)
  |     {
  |             // This is always working
  |             Context ctx = Contexts.getBusinessProcessContext();
  |             Long requesterId = (Long) 
Contexts.getBusinessProcessContext().get("requesterId");
  |             
  |             ...
  |             
  |     }
  | 
  | }
  | 
  | 

Is there something wrong I haven't seen, or is it Seam that does wrong in that 
case ?



View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4098211#4098211

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4098211
_______________________________________________
jboss-user mailing list
jboss-user@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to