3 Replies Latest reply on Jun 18, 2009 8:15 AM by vnm

    WARN  [CallbackCommand] Token id 703 from process instance

      Hi,
      In my application I am calling esbservices from jbpm by using EsbActionHandler but in between the service calls which are defined in jpdl I am getting warning

      WARN [CallbackCommand] Token id 703 from process instance 377 is no longer active


      And because of the problem my subsequant service is not able to get data which are prepared by previous service....I means the esb service which are called by EsbActionHandler is not putting data prepared by that service in context of jpbm ..below is my processdefinition.xml

      <?xml version="1.0" encoding="UTF-8"?>
      
      <process-definition xmlns="urn:jbpm.org:jpdl-3.2" name="sampleApp">
      
      
       <start-state name="start-state1">
       <transition to="node1" name="1"></transition>
       </start-state>
      
      
       <node name="node1">
       <event type="node-enter">
       <action name="node 1" class="org.jboss.soa.esb.services.jbpm.actionhandlers.EsbActionHandler">
       <esbCategoryName>
       LeaveProcess
       </esbCategoryName>
       <esbServiceName>
       PrepareLeaveVO
       </esbServiceName>
       <bpmToEsbVars><mapping bpm="serviceVO" esb="esbServiceVO"></mapping></bpmToEsbVars>
       <esbToBpmVars><mapping bpm="serviceVO" esb="esbServiceVO"></mapping></esbToBpmVars>
      
       </action>
       </event>
       <transition to="node2" name="2"></transition>
       </node>
      
       <node name="node2">
       <event type="node-enter">
       <action name="node 1" class="org.jboss.soa.esb.services.jbpm.actionhandlers.EsbActionHandler">
       <esbCategoryName>
       LeaveProcess
       </esbCategoryName>
       <esbServiceName>
       PrepareLeaveVO
       </esbServiceName>
       <bpmToEsbVars><mapping bpm="serviceVO" esb="esbServiceVO"></mapping></bpmToEsbVars>
       <esbToBpmVars><mapping bpm="serviceVO" esb="esbServiceVO"></mapping></esbToBpmVars>
      
       </action>
       </event>
       <transition to="fork1" name="fork"></transition>
       </node>
      
       <fork name="fork1">
       <transition to="decision1"></transition>
       <transition to="decision2" name="to decision2"></transition>
       </fork>
      
       <node name="node3">
       <event type="node-enter">
       <action name="node 1" class="org.jboss.soa.esb.services.jbpm.actionhandlers.EsbActionHandler">
       <esbCategoryName>
       LeaveProcess
       </esbCategoryName>
       <esbServiceName>
       PrepareLeaveVO
       </esbServiceName>
       <bpmToEsbVars><mapping bpm="serviceVO" esb="esbServiceVO"></mapping></bpmToEsbVars>
       <esbToBpmVars><mapping bpm="serviceVO" esb="esbServiceVO"></mapping></esbToBpmVars>
      
       </action>
       </event>
       <transition to="join1" name="join"></transition>
       </node>
      
       <node name="node4">
       <event type="node-enter">
       <action name="node 1" class="org.jboss.soa.esb.services.jbpm.actionhandlers.EsbActionHandler">
       <esbCategoryName>
       LeaveProcess
       </esbCategoryName>
       <esbServiceName>
       PrepareLeaveVO
       </esbServiceName>
       <bpmToEsbVars><mapping bpm="serviceVO" esb="esbServiceVO"></mapping></bpmToEsbVars>
       <esbToBpmVars><mapping bpm="serviceVO" esb="esbServiceVO"></mapping></esbToBpmVars>
      
       </action>
       </event>
       <transition to="join1" name="join"></transition>
       </node>
      
       <join name="join1">
       <transition to="node5" name="5"></transition>
       </join>
      
       <node name="node5">
       <event type="node-enter">
       <action name="node 1" class="org.jboss.soa.esb.services.jbpm.actionhandlers.EsbActionHandler">
       <esbCategoryName>
       LeaveProcess
       </esbCategoryName>
       <esbServiceName>
       PrepareLeaveVO
       </esbServiceName>
       <bpmToEsbVars><mapping bpm="serviceVO" esb="esbServiceVO"></mapping></bpmToEsbVars>
       <esbToBpmVars><mapping bpm="serviceVO" esb="esbServiceVO"></mapping></esbToBpmVars>
      
       </action>
       </event>
       <transition to="end-state1" name="end"></transition>
       </node>
      
       <decision name="decision1">
       <handler class="testFolder.DecisionHandler1"></handler>
       <transition to="node3" name="node3"></transition>
       <transition to="join1" name="to join1"></transition>
       </decision>
      
       <decision name="decision2">
       <handler class="testFolder.DecisionHandler2"></handler>
       <transition to="node4" name="node4"></transition>
       <transition to="join1" name="to join1"></transition>
       </decision>
      
      
       <end-state name="end-state1"></end-state>
      
      
      </process-definition>


        • 1. Re:  WARN  [CallbackCommand] Token id 703 from process insta
          camunda

          Can you post your service definitions?

          • 2. Re:  WARN  [CallbackCommand] Token id 703 from process insta

            Hi Bernd,

            Thanks for your reply..Below is the specification of service in jboss-esb.xml


            <service category="LeaveProcess" name="PrepareLeaveVO" description="To Prepare Next Owner Map" >
             <listeners>
             <jms-listener name="leave_prepareLeaveVORequest"
             busidref="prepareLeaveVORequest"
             maxThreads="1"/>
             </listeners>
             <actions>
             <action class="com.tcs.sgv.wfms.actions.PrepareLeaveVOAction"
             process="processLeaveVORequest" name="PrepareLeaveVOAction">
             </action>
             </actions>
             </service>


            • 3. Re:  WARN  [CallbackCommand] Token id 703 from process insta

              Hi Bernd,
              I have resolved the issue by changing source of EsbActionHandler and customized it .I replaced getServiceInvoker().deliverAsync(message); by getServiceInvoker().deliverSync(message,10000); and commented lines of code which are

               EPR replyTo = createReplyTo(esbToBpmVarsXml, globalProcessScope, executionContext);
               message.getHeader().getCall().setReplyTo(replyTo);


              So I conclude that it is asyc call of the services which causes the problem, if services are called in sync fashion it won't create the problem

              Thanks and Regards,
              vnm