View Javadoc

1   /*
2    * $Id: PollingReceiverWorkerSchedule.java 19191 2010-08-25 21:05:23Z tcarlson $
3    * --------------------------------------------------------------------------------------
4    * Copyright (c) MuleSoft, Inc.  All rights reserved.  http://www.mulesoft.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.getConnector().getMuleContext().getExceptionListener().handleException(e);
41          }
42      }
43  
44  }