Interface ExecBinding

All Known Implementing Classes:
DefaultExecBinding

public interface ExecBinding
Represents the binding of input and output types of a ExecCommandExecutor to an Exchange. The input of the executor is an ExecCommand and the output is an ExecResult.
  • Field Details

    • EXEC_COMMAND_EXECUTABLE

      @Metadata(label="in", description="The name of the system command that will be executed. Overrides\n`executable` in the URI.", javaType="String") static final String EXEC_COMMAND_EXECUTABLE
      The header value overrides the executable of the command, configured in the exec endpoint URI. As executable is considered the remaining of the ExecEndpoint URI;

      e.g. in the URI exec:C:/Program Files/jdk/java.exe , C:/Program Files/jdk/java.exe is the executable.
      See Also:
    • EXEC_COMMAND_ARGS

      @Metadata(label="in", description="Command-line argument(s) to pass to the executed process. The argument(s)\nis/are used literally - no quoting is applied. Overrides any existing\n`args` in the URI.", javaType="java.util.List<String> or String") static final String EXEC_COMMAND_ARGS
      The header value overrides the existing command arguments in the ExecEndpoint URI. The arguments may be a List. In this case no parsing of the arguments is necessary.
      See Also:
    • EXEC_COMMAND_OUT_FILE

      @Metadata(label="in", description="The name of a file, created by the executable, that should be considered\nas its output. Overrides any existing `outFile` in the URI.", javaType="String") static final String EXEC_COMMAND_OUT_FILE
      Specifies the file name of a file, created by the executable, that should be considered as output of the executable, e.g. a log file.
      See Also:
    • EXEC_COMMAND_WORKING_DIR

      @Metadata(label="in", description="The directory in which the command should be executed. Overrides any\nexisting `workingDir` in the URI.", javaType="String") static final String EXEC_COMMAND_WORKING_DIR
      Sets the working directory of the EXEC_COMMAND_EXECUTABLE. The header value overrides any existing command in the endpoint URI. If this is not configured, the working directory of the current process will be used.
      See Also:
    • EXEC_COMMAND_TIMEOUT

      @Metadata(label="in", description="The timeout, in milliseconds, after which the executable should be\nterminated. Overrides any existing `timeout` in the URI.", javaType="long") static final String EXEC_COMMAND_TIMEOUT
      Specifies the amount of time, in milliseconds, after which the process of the executable should be terminated. The default value is Long.MAX_VALUE.
      See Also:
    • EXEC_COMMAND_EXIT_VALUES

      @Metadata(label="in", description="The exit values for successful execution of the process.\nOverrides any existing `exitValues` in the URI.", javaType="String") static final String EXEC_COMMAND_EXIT_VALUES
      Which exit values of the process are considered a success. When the process exits with a value not in this list, an ExecuteException is raised. When the list is empty (the default), no exception is raised based on the exit value. Example:
      See Also:
    • EXEC_STDERR

      @Metadata(label="out", description="The value of this header points to the standard error stream (stderr) of\nthe executable. If no stderr is written, the value is `null`.", javaType="java.io.InputStream") static final String EXEC_STDERR
      The value of this header is a InputStream with the standard error stream of the executable.
      See Also:
    • EXEC_EXIT_VALUE

      @Metadata(label="out", description="The value of this header is the _exit value_ of the executable. Non-zero\nexit values typically indicate abnormal termination. Note that the exit\nvalue is OS-dependent.", javaType="int") static final String EXEC_EXIT_VALUE
      The value of this header is the exit value that is returned, after the execution. By convention a non-zero status exit value indicates abnormal termination.
      Note that the exit value is OS dependent.
      See Also:
    • EXEC_USE_STDERR_ON_EMPTY_STDOUT

      @Metadata(label="in", description="Indicates that when `stdout` is empty, this component will populate the\nCamel Message Body with `stderr`. This behavior is disabled (`false`) by\ndefault.", javaType="boolean") static final String EXEC_USE_STDERR_ON_EMPTY_STDOUT
      The value of this header is a boolean which indicates whether to fallback and use stderr when stdout is empty.
      See Also:
    • EXEC_COMMAND_LOG_LEVEL

      @Metadata(label="in", description="Logging level to be used for commands during execution. The default value is DEBUG.\nPossible values are TRACE, DEBUG, INFO, WARN, ERROR or OFF (Values of LoggingLevel enum)", javaType="String") static final String EXEC_COMMAND_LOG_LEVEL
      The value of this header define logging level to be used for commands during execution. The default value is INFO. Possible values are TRACE, DEBUG, INFO, WARN, ERROR or OFF. (Values of LoggingLevel enum)
      See Also:
  • Method Details

    • readInput

      ExecCommand readInput(org.apache.camel.Exchange exchange, ExecEndpoint endpoint)
      Creates a ExecCommand from the headers in the exchange and the settings of the endpoint.
      Parameters:
      exchange - a Camel Exchange
      endpoint - an ExecEndpoint instance
      Returns:
      an ExecCommand object
      See Also:
    • writeOutput

      void writeOutput(org.apache.camel.Exchange exchange, ExecResult result)
      Populates the exchange form the ExecResult.
      Parameters:
      exchange - a Camel Exchange, in which to write the result
      result - the result of a command execution
      See Also: