Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.mule.source
Class StartableCompositeMessageSource

    java.lang.Object
      org.mule.source.StartableCompositeMessageSource

All Implemented Interfaces:
  FlowConstructAware, Startable, Stoppable, CompositeMessageSource, MessageSource

Direct Known Subclasses:
  ServiceCompositeMessageSource

    public class StartableCompositeMessageSource

extends Object
implements CompositeMessageSource, Startable, Stoppable, FlowConstructAware

Implementation of `CompositeMessageSource` that propagates both injection of `FlowConstruct` and lifecycle to nested `MessageSource`s.

- This message source cannot be started without a listener set.
- If sources are added when this composie is started they will be started as well.
- If a `MessageSource` is started in isolation when composite is stopped then messages will be lost.
- Message will only be received from endpoints if the connector is also started.

  Field Summary
  `protected FlowConstruct` | `flowConstruct`
  `protected MessageProcessor` | `listener`
  `protected static Log` | `log`
  `protected List<MessageSource>` | `sources`
  `protected edu.emory.mathcs.backport.java.util.concurrent.atomic.AtomicBoolean` | `started`
  `protected edu.emory.mathcs.backport.java.util.concurrent.atomic.AtomicBoolean` | `starting`

  Fields inherited from interface org.mule.api.lifecycle.Startable
  `PHASE_NAME`

  Fields inherited from interface org.mule.api.lifecycle.Stoppable
  `PHASE_NAME`

  Constructor Summary
  `StartableCompositeMessageSource()`

  Method Summary
  `void` | `addSource(MessageSource source)`
  `void` | `removeSource(MessageSource source)`
  `void` | `setFlowConstruct(FlowConstruct pattern)`
  `void` | `setListener(MessageProcessor listener)` Set the MessageProcessor listener on a message source which will be invoked when a message is received or generated.
  `void` | `setMessageSources(List<MessageSource> sources)`
  `void` | `start()`
  `void` | `stop()`
  `String` | `toString()`

  Methods inherited from class java.lang.Object
  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

  Field Detail

  ### log

      protected static final Log log

  ### listener

      protected MessageProcessor listener

  ### started

      protected edu.emory.mathcs.backport.java.util.concurrent.atomic.AtomicBoolean started

  ### sources

      protected final List<MessageSource> sources

  ### starting

      protected edu.emory.mathcs.backport.java.util.concurrent.atomic.AtomicBoolean starting

  ### flowConstruct

      protected FlowConstruct flowConstruct

  Constructor Detail

  ### StartableCompositeMessageSource

      public StartableCompositeMessageSource()

  Method Detail

  ### addSource

      public void addSource(MessageSource source)
                     throws MuleException

    Specified by:
      `addSource` in interface `CompositeMessageSource`
    Throws:
      `MuleException`

  ### removeSource

      public void removeSource(MessageSource source)
                        throws MuleException

    Specified by:
      `removeSource` in interface `CompositeMessageSource`
    Throws:
      `MuleException`

  ### setMessageSources

      public void setMessageSources(List<MessageSource> sources)
                             throws MuleException

    Throws:
      `MuleException`

  ### start

      public void start()
                 throws MuleException

    Specified by:
      `start` in interface `Startable`
    Throws:
      `MuleException`

  ### stop

      public void stop()
                throws MuleException

    Specified by:
      `stop` in interface `Stoppable`
    Throws:
      `MuleException`

  ### setListener

      public void setListener(MessageProcessor listener)

    Description copied from interface: `MessageSource`
    Set the MessageProcessor listener on a message source which will be invoked when a message is received or generated.

    Specified by:
      `setListener` in interface `MessageSource`

  ### setFlowConstruct

      public void setFlowConstruct(FlowConstruct pattern)

    Specified by:
      `setFlowConstruct` in interface `FlowConstructAware`

  ### toString

      public String toString()

    Overrides:
      `toString` in class `Object`

  Overview | Package | Class | Use | Tree | Deprecated | Index | Help
  PREV CLASS NEXT CLASS | FRAMES NO FRAMES
  SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

  Copyright © 2003-2010 MuleSoft, Inc.. All Rights Reserved.