View Javadoc

1   /*
2    * $Id: PollingReceiverWorkerSchedule.java 10489 2008-01-23 17:53:38Z dfeist $
3    * --------------------------------------------------------------------------------------
4    * Copyright (c) MuleSource, Inc.  All rights reserved.  http://www.mulesource.com
5    *
6    * The software in this package is published under the terms of the CPAL v1.0
7    * license, a copy of which has been included with this distribution in the
8    * LICENSE.txt file.
9    */
10  
11  package org.mule.transport;
12  
13  import org.mule.api.context.WorkManager;
14  
15  public class PollingReceiverWorkerSchedule implements Runnable
16  {
17      protected final PollingReceiverWorker worker;
18      protected final WorkManager workManager;
19      protected final AbstractPollingMessageReceiver receiver;
20  
21      protected PollingReceiverWorkerSchedule(PollingReceiverWorker work)
22      {
23          super();
24          worker = work;
25          receiver = work.getReceiver();
26          workManager = receiver.getWorkManager();
27      }
28  
29      public void run()
30      {
31          try
32          {
33              if (!worker.isRunning())
34              {
35                  workManager.scheduleWork(worker);
36              }
37          }
38          catch (Exception e)
39          {
40              receiver.handleException(e);
41          }
42      }
43  
44  }