Interface IRemoteProcessingProfile

All Known Implementing Classes:
RemoteProcessingProfileBase, RemoteProcessingProfileClassic, RemoteProcessingProfileCustom, RemoteProcessingProfileDefault, RemoteProcessingProfileG1, RemoteProcessingProfileNone

public interface IRemoteProcessingProfile
Interface for classes that determine run-time parameters for remote requests. In addition, each implementing class must implement two constructors to make the class work with the controller's configuration reload logic.
  • Either a constructor that takes a Configuration, or one that takes a single String defining the profile name and a Configuration. This constructor must read any required properties to generate the instance.
  • A constructor that takes an Element to generate itself from the previously-generated XML.
  • Field Details

  • Method Details

    • getJvmArgs

      String[] getJvmArgs(int maxHeapSizeMB)
      Get the JVM arguments to be passed to the JVM. These may be calculated based on the configured max heap size.
      Parameters:
      maxHeapSizeMB - the worker's maximum heap size in MB
      Returns:
      the JVM parameters to be passed to the JVM
    • getEnvironmentVariables

      @NotNull Map<String,String> getEnvironmentVariables()
      Get the environment variables.
      Returns:
      a Map of the environment variable names to values
    • getDisplayName

      String getDisplayName()
      Get the displayable name.
      Returns:
      The displayable name
    • generateProfileXML

      org.jdom2.Element generateProfileXML()
      Generate an XML Element that represents this profile.
      Returns:
      the generated XML Element
    • getIncludedProfileNames

      default List<String> getIncludedProfileNames()
      Return a List of included profile names.
      Returns:
      the included profile names
    • addJvmArguments

      void addJvmArguments(int maxHeapSizeMB, List<String> basicJvmArguments, Map<String,List<String>> appendableJvmArguments)
      Add this profile's JVM parameters to the provided parameters. This includes arguments for included profiles.
      Parameters:
      maxHeapSizeMB - the worker's maximum heap size in MB
      basicJvmArguments - a List to which the basic arguments for this profile and any included profiles will be added
      appendableJvmArguments - a Map to which appendable arguments for this profile and any included profiles will be added