org.mule.source
Class StartableCompositeMessageSource

java.lang.Object
  extended by 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 MessageSources.

  • 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


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