Class AbstractCollectorSender<C extends ICollector<P>,P>

All Implemented Interfaces:
IConfigurable, IConfigurationAware, INamedObject, IScopeProvider, ISender, ISenderWithParameters, IWithParameters, org.springframework.beans.factory.Aware, org.springframework.context.ApplicationContextAware
Direct Known Subclasses:
ZipWriterSender

public abstract class AbstractCollectorSender<C extends ICollector<P>,P> extends AbstractSenderWithParameters
Sender that writes an item to a collection, created by AbstractCollectorPipe with action=OPEN.
Author:
Niels Meijer
Parameters
all parameters are handled by the collection.
  • Constructor Details

    • AbstractCollectorSender

      public AbstractCollectorSender()
  • Method Details

    • configure

      public void configure() throws ConfigurationException
      Description copied from interface: ISender
      configure() is called once at startup of the framework in the configure method of the owner of this sender. Purpose of this method is to check whether the static configuration of the sender is correct. As much as possible class-instantiating should take place in the configure() or open() method, to improve performance.
      Specified by:
      configure in interface IConfigurable
      Specified by:
      configure in interface ISender
      Overrides:
      configure in class AbstractSenderWithParameters
      Throws:
      ConfigurationException
    • getCollection

      @Nonnull protected Collection<C,P> getCollection(PipeLineSession session) throws CollectionException
      Throws:
      CollectionException
    • sendMessage

      @Nonnull public SenderResult sendMessage(@Nonnull Message message, @Nonnull PipeLineSession session) throws SenderException, TimeoutException
      Description copied from interface: ISender
      Send a message to some destination (as configured in the Sender object). This method may only be called after the configure() method is called.

      The following table shows the difference between synchronous and a-synchronous senders:

       synchronousa-synchronous
      ISender.isSynchronous() returnstruefalse
      return value of sendMessage() isthe reply-messagethe messageId of the message sent
      the correlationID specified with sendMessage()may be ignoredis sent with the message
      a {link TimeOutException}may be thrown if a timeout occurs waiting for a replyshould not be expected

      Multiple objects may try to call this method at the same time, from different threads. Implementations of this method should therefore be thread-safe, or synchronized.

      Throws:
      SenderException
      TimeoutException
    • getCollectionName

      public String getCollectionName()
      Session key used to refer to collection. Must be specified with another value if multiple CollectorPipes are active at the same time in the same session
      Default value
      collection
    • setCollectionName

      public void setCollectionName(String collectionName)
      Session key used to refer to collection. Must be specified with another value if multiple CollectorPipes are active at the same time in the same session
      Default value
      collection