Class SchedulerSender

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

public class SchedulerSender extends SenderWithParametersBase
Registers a trigger in the scheduler so that the message is send to a javalistener at a scheduled time.
Author:
John Dekker
  • Constructor Details

    • SchedulerSender

      public SchedulerSender()
  • 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 SenderWithParametersBase
      Throws:
      ConfigurationException
    • open

      public void open() throws SenderException
      Description copied from interface: ISender
      This method will be called to start the sender. After this method is called the sendMessage method may be called. Purpose of this method is to reduce creating connections to databases etc. in the sendMessage() method.
      Specified by:
      open in interface ISender
      Overrides:
      open in class SenderBase
      Throws:
      SenderException
    • isSynchronous

      public boolean isSynchronous()
      Description copied from interface: ISender
      When true, the result of sendMessage is the reply of the request.
    • sendMessage

      public SenderResult sendMessage(Message message, PipeLineSession session) throws SenderException
      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
    • setCronExpressionPattern

      public void setCronExpressionPattern(String string)
      expression that generates the cron trigger
    • setJobGroup

      public void setJobGroup(String string)
      job group in which the new trigger is to be created (optional)
    • setJobNamePattern

      public void setJobNamePattern(String string)
      pattern that leads to the name of the registered trigger(optional)
    • setJavaListener

      public void setJavaListener(String string)
      java listener to be called when scheduler trigger fires
    • getSchedulerHelper

      public SchedulerHelper getSchedulerHelper()
    • setSchedulerHelper

      public void setSchedulerHelper(SchedulerHelper helper)