3 Replies Latest reply on Dec 8, 2011 7:10 AM by jeff.yuchang

    Process does not resume execution after server restart

    anujbhatia

      Hi,

       

      I'm not able to get my BPEL process to resume execution after a restart of the JBoss server. Here's what I'm trying to do:

       

      1. Added a <wait> activity in my process to introduce a deliberate delay.

      2. Shutdown the server once the process hits the <wait> activity.

      3. Wait for longer than the duration of the wait activity, say if the wait is for 3 mins, I stop the server and wait for  5mins.

      4. Start the JBoss server. In the logs I see the following messages:

       

      <snip>

      2011-12-06 15:08:25,958 INFO  [org.jboss.soa.bpel.runtime.engine.ode.BPELEngineImpl] (main) Scheduler node name: 10.40.42.88:1099

      2011-12-06 15:08:25,990 INFO  [org.jboss.soa.bpel.runtime.ws.EndpointManager] (main) Use stable interface: false

      2011-12-06 15:08:26,005 INFO  [org.jboss.soa.bpel.console.bpaf.BPAFLogAdapter] (main) Using: class org.jboss.soa.bpel.console.bpaf.JDBCPersistenceStrategy

      2011-12-06 15:08:26,115 INFO  [org.apache.ode.bpel.engine.migration.MigrationHandler] (main) No schema version available from the database, migrations will be skipped.

      2011-12-06 15:08:26,115 INFO  [org.apache.ode.bpel.engine.BpelServerImpl] (main) BPEL Server Started.

      <snip>

      2011-12-06 15:08:26,333 WARN  [org.apache.ode.scheduler.simple.SimpleScheduler] (ODEServer-1) Dispatching jobs with more than 5 minutes delay. Either the server was down for some time or the job load is greater than available capacity

      2011-12-06 15:08:26,333 DEBUG [org.apache.ode.sql] (ODEServer-3) getConnection (tx=4)

      2011-12-06 15:08:26,333 DEBUG [org.apache.ode.sql] (ODEServer-3) Set isolation level to 2

      2011-12-06 15:08:26,333 DEBUG [org.apache.ode.sql] (ODEServer-3) prepareStatement: delete from ODE_JOB where jobid=? and nodeid=?

      2011-12-06 15:08:26,333 DEBUG [org.apache.ode.sql] (ODEServer-3) executeUpdate, bound (1,hqejbhcnphr6t60c45f09i) (2,10.40.42.88:1099)

      2011-12-06 15:08:26,333 DEBUG [org.apache.ode.sql] (ODEServer-3) close()

      2011-12-06 15:08:26,333 DEBUG [org.apache.ode.sql] (ODEServer-3) close()

      2011-12-06 15:08:26,349 DEBUG [org.apache.ode.sql] (ODEServer-2) getConnection (tx=4)

      2011-12-06 15:08:26,349 DEBUG [org.apache.ode.sql] (ODEServer-2) Set isolation level to 2

      2011-12-06 15:08:26,365 DEBUG [org.apache.ode.sql] (ODEServer-2) prepareStatement: delete from ODE_JOB where jobid=? and nodeid=?

      2011-12-06 15:08:26,365 DEBUG [org.apache.ode.sql] (ODEServer-2) executeUpdate, bound (1,hqejbhcnphr6t60c45f09g) (2,10.40.42.88:1099)

      2011-12-06 15:08:26,365 DEBUG [org.apache.ode.sql] (ODEServer-3) getConnection (tx=2)

      2011-12-06 15:08:26,365 DEBUG [org.apache.ode.sql] (ODEServer-2) close()

      2011-12-06 15:08:26,365 DEBUG [org.apache.ode.sql] (ODEServer-2) close()

      2011-12-06 15:08:26,365 DEBUG [org.apache.ode.sql] (ODEServer-3) prepareStatement: select processins0_.ID as ID10_0_, processins0_.DATE_CREATED as DATE2_10_0_, processins0_.EXECUTION_STATE as EXECUTION3_10_0_, processins0_.FAULT_ID as FAULT4_10_0_, processins0_.INSTANTIATING_CORRELATOR_ID as INSTANT10_10_0_, processins0_.LAST_ACTIVE_TIME as LAST5_10_0_, processins0_.LAST_RECOVERY_DATE as LAST6_10_0_, processins0_.PREVIOUS_STATE as PREVIOUS7_10_0_, processins0_.PROCESS_ID as PROCESS11_10_0_, processins0_.ROOT_SCOPE_ID as ROOT12_10_0_, processins0_.SEQUENCE as SEQUENCE10_0_, processins0_.INSTANCE_STATE as INSTANCE9_10_0_ from BPEL_PROCESS_INSTANCE processins0_ where processins0_.ID=?

      2011-12-06 15:08:26,365 DEBUG [org.apache.ode.sql] (ODEServer-3) executeQuery, bound (1,79)

      2011-12-06 15:08:26,365 DEBUG [org.apache.ode.bpel.engine.BpelEngineImpl] (ODEServer-2) Process {http://www.jboss.org/bpel/examples}SimpleInvoke-1 can't be found, job abandoned.

      2011-12-06 15:08:26,380 DEBUG [org.apache.ode.sql] (ODEServer-3) close()

      2011-12-06 15:08:26,380 DEBUG [org.apache.ode.sql] (ODEServer-3) close()

      2011-12-06 15:08:26,396 DEBUG [org.apache.ode.sql] (ODEServer-3) getConnection (tx=2)

      2011-12-06 15:08:26,396 DEBUG [org.apache.ode.sql] (ODEServer-3) prepareStatement: select processdao0_.ID as ID9_0_, processdao0_.GUID as GUID9_0_, processdao0_.PROCESS_ID as PROCESS3_9_0_, processdao0_.PROCESS_TYPE as PROCESS4_9_0_, processdao0_.VERSION as VERSION9_0_ from BPEL_PROCESS processdao0_ where processdao0_.ID=?

      2011-12-06 15:08:26,396 DEBUG [org.apache.ode.sql] (ODEServer-3) executeQuery, bound (1,114)

      2011-12-06 15:08:26,411 DEBUG [org.apache.ode.sql] (ODEServer-3) close()

      2011-12-06 15:08:26,411 DEBUG [org.apache.ode.sql] (ODEServer-3) close()

      2011-12-06 15:08:26,411 DEBUG [org.apache.ode.bpel.engine.BpelEngineImpl] (ODEServer-3) Process null can't be found, job abandoned.

      <snip>

      2011-12-06 15:08:26,865 INFO  [org.jboss.soa.bpel.deployer.as5.AS5BPELDeployer] (main) Deploy: Quickstart_bpel_simple_invoke-1.jar relativePath=deploy.xml

      2011-12-06 15:08:26,880 DEBUG [org.apache.ode.store.RiftSawProcessStore] (main) Deploy BPELDeploymentUnit[name=Quickstart_bpel_simple_invoke-1,lastModified=1323153098793,descriptor=C:\installed\jboss-5.1.0.GA\server\all\tmp\a14162g-mwe7gw-gvupuh4x-1-gvupv5c0-34\Quickstart_bpel_simple_invoke-1.jar\deploy.xml]

      2011-12-06 15:08:26,880 DEBUG [org.apache.ode.store.RiftSawProcessStore] (Thread-13) Deploy scheduled: C:\installed\jboss-5.1.0.GA\server\all\tmp\a14162g-mwe7gw-gvupuh4x-1-gvupv5c0-34\Quickstart_bpel_simple_invoke-1.jar

      <snip>

      2011-12-06 15:08:28,990 DEBUG [org.apache.ode.bpel.engine.BpelProcess] (Thread-13) Activating {http://www.jboss.org/bpel/examples}SimpleInvoke-1

       

      It looks like the BPEL job scheduler starts processing the pending events *before* the process definitons are loaded at startup. Is there any way to configure the deployment order so that the process definitions are loaded first and then the BPEL job scheduler is started?

       

      Thanks

      Anuj