Class CommandSender

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

public class CommandSender extends AbstractSenderWithParameters
Sender that executes either its input or a fixed line, with all parametervalues appended, as a command.
Since:
4.8
Author:
Gerrit van Brakel
Parameters
All parameters present are appended as arguments to the command.
  • Constructor Details

    • CommandSender

      public CommandSender()
  • Method Details

    • 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
    • isSynchronous

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

      public void setCommand(String string)
      The command to be executed. Note: Executing a command in WAS requires <<ALL FILES>> execute permission to avoid that provide the absolute path of the command. Absolute path can be found with the following command 'which -a {commandName}'
    • getCommand

      public String getCommand()
    • setTimeout

      public void setTimeout(int timeout)
      The number of seconds to execute a command. If the limit is exceeded, a TimeoutException is thrown. A value of 0 means execution time is not limited
      Default value
      0
    • setCommandWithArguments

      public void setCommandWithArguments(boolean commandWithArguments)
      In case the command that will be executed contains arguments then this flag should be set to true
      Default value
      false
    • getCommandWithArguments

      public boolean getCommandWithArguments()
    • getTimeout

      public int getTimeout()