Class StandaloneCommandBuilder

    • Method Detail

      • of

        public static StandaloneCommandBuilder of​(Path wildflyHome)
        Creates a command builder for a standalone instance of WildFly.
        Parameters:
        wildflyHome - the path to the WildFly home directory
        Returns:
        a new builder
      • of

        public static StandaloneCommandBuilder of​(String wildflyHome)
        Creates a command builder for a standalone instance of WildFly.
        Parameters:
        wildflyHome - the path to the WildFly home directory
        Returns:
        a new builder
      • setJavaOptions

        public StandaloneCommandBuilder setJavaOptions​(Iterable<String> javaOpts)
        Sets the JVM arguments to use. This overrides any default JVM arguments that would normally be added and ignores null values in the collection.

        If the collection is null the JVM arguments will be cleared and no new arguments will be added.

        Overrides:
        setJavaOptions in class JBossModulesCommandBuilder
        Parameters:
        javaOpts - the JVM arguments to use
        Returns:
        the builder
      • setJavaOptions

        public StandaloneCommandBuilder setJavaOptions​(String... javaOpts)
        Sets the JVM arguments to use. This overrides any default JVM arguments that would normally be added and ignores null values in the array.

        If the array is null the JVM arguments will be cleared and no new arguments will be added.

        Overrides:
        setJavaOptions in class JBossModulesCommandBuilder
        Parameters:
        javaOpts - the JVM arguments to use
        Returns:
        the builder
      • setDebug

        public StandaloneCommandBuilder setDebug()
        Sets the debug argument for the JVM with a default port of 8787.
        Returns:
        the builder
      • setDebug

        public StandaloneCommandBuilder setDebug​(int port)
        Sets the debug argument for the JVM.
        Parameters:
        port - the port to listen on
        Returns:
        the builder
      • setDebug

        public StandaloneCommandBuilder setDebug​(boolean suspend,
                                                 int port)
        Sets the debug JPDA remote socket debugging argument.
        Parameters:
        suspend - true to suspend otherwise false
        port - the port to listen on
        Returns:
        the builder
      • setBaseDirectory

        public StandaloneCommandBuilder setBaseDirectory​(String baseDir)
        Sets the base directory to use.

        The default is $JBOSS_HOME/standalone.

        Parameters:
        baseDir - the base directory or null to resolve the base directory
        Returns:
        the builder
      • setBaseDirectory

        public StandaloneCommandBuilder setBaseDirectory​(Path baseDir)
        Sets the base directory to use.

        The default is $JBOSS_HOME/standalone.

        Parameters:
        baseDir - the base directory or null to resolve the base directory
        Returns:
        the builder
      • setServerConfiguration

        public StandaloneCommandBuilder setServerConfiguration​(String configFile)
        Sets the configuration file for the server. The file must be in the configuration directory. A value of null will remove the configuration file.

        This will override any previous value set via JBossModulesCommandBuilder.addServerArgument(String).

        Parameters:
        configFile - the configuration file name or null to remove the configuration file
        Returns:
        the builder
      • getServerConfiguration

        public String getServerConfiguration()
        Returns the configuration file set or null if one was not set.
        Returns:
        the configuration file set or null if not set
      • setServerReadOnlyConfiguration

        public StandaloneCommandBuilder setServerReadOnlyConfiguration​(String configFile)
        Sets the configuration file for the server. The file must be in the configuration directory. A value of null will remove the configuration file.

        This will override any previous value set via JBossModulesCommandBuilder.addServerArgument(String).

        Parameters:
        configFile - the configuration file name or null to remove the configuration file
        Returns:
        the builder
      • getReadOnlyServerConfiguration

        public String getReadOnlyServerConfiguration()
        Returns the configuration file set or null if one was not set.
        Returns:
        the configuration file set or null if not set
      • addSecurityProperty

        public StandaloneCommandBuilder addSecurityProperty​(String key)
        Adds a security property to be passed to the server with a null value.
        Parameters:
        key - the property key
        Returns:
        the builder
      • addSecurityProperty

        public StandaloneCommandBuilder addSecurityProperty​(String key,
                                                            String value)
        Adds a security property to be passed to the server.
        Parameters:
        key - the property key
        value - the property value
        Returns:
        the builder
      • addSecurityProperties

        public StandaloneCommandBuilder addSecurityProperties​(Map<String,​String> properties)
        Adds all the security properties to be passed to the server.
        Parameters:
        properties - a map of the properties to add, null values are allowed in the map
        Returns:
        the builder
      • setGitRepository

        public StandaloneCommandBuilder setGitRepository​(String gitRepository,
                                                         String gitBranch,
                                                         String gitAuthentication)
        Configures the git repository for the standalone server.
        Parameters:
        gitRepository - the git repository to clone to get the server configuration from
        gitBranch - the branch to use to get the server configuration
        gitAuthentication - the Elytron configuration file for managing git credentials
        Returns:
        the builder
      • setYamlFiles

        public StandaloneCommandBuilder setYamlFiles​(Collection<Path> yamlFiles)
        Adds the YAML configuration file argument with the given YAML configuration files.
        Parameters:
        yamlFiles - the files to add
        Returns:
        the builder
      • setYamlFiles

        public StandaloneCommandBuilder setYamlFiles​(Path... yamlFiles)
        Adds the YAML configuration file argument with the given YAML configuration files.
        Parameters:
        yamlFiles - the files to add
        Returns:
        the builder
      • setStability

        public StandaloneCommandBuilder setStability​(String stability)
        Sets the stability level of the domain controller process.
        Parameters:
        stability - a stability level
        Returns:
        a reference to this builder
      • getJavaHome

        public Path getJavaHome()
        Returns the Java home directory where the java executable command can be found.

        If the directory was not set the system property value, java.home, should be used.

        Returns:
        the path to the Java home directory
      • getBaseDirectory

        public Path getBaseDirectory()
        Returns the base directory for the server.

        Example: For standalone the base directory would be $JBOSS_HOME/standalone.

        Returns:
        the base directory
      • setUseSecurityManager

        public T setUseSecurityManager​(boolean useSecMgr)
        Description copied from class: JBossModulesCommandBuilder
        Sets whether or not the security manager option, -secmgr, should be used.
        Overrides:
        setUseSecurityManager in class JBossModulesCommandBuilder
        Parameters:
        useSecMgr - true to use the a security manager, otherwise false
        Returns:
        the builder
      • setModuleDirs

        public T setModuleDirs​(Iterable<String> moduleDirs)
        Description copied from class: JBossModulesCommandBuilder
        Replaces any previously set module directories with the collection of module directories.

        The default module directory will NOT be used if this method is invoked.

        Overrides:
        setModuleDirs in class JBossModulesCommandBuilder
        Parameters:
        moduleDirs - the collection of module directories to use
        Returns:
        the builder
      • setModuleDirs

        public T setModuleDirs​(String... moduleDirs)
        Description copied from class: JBossModulesCommandBuilder
        Replaces any previously set module directories with the array of module directories.

        The default module directory will NOT be used if this method is invoked.

        Overrides:
        setModuleDirs in class JBossModulesCommandBuilder
        Parameters:
        moduleDirs - the array of module directories to use
        Returns:
        the builder
      • getLogDirectory

        public Path getLogDirectory()
        Returns the log directory for the server.
        Returns:
        the log directory
      • setLogDirectory

        public T setLogDirectory​(String path)
        Sets the log directory to be used for log files.

        If set to null, the default, the log directory will be resolved.

        Parameters:
        path - the path to the log directory or null to have the log directory resolved
        Returns:
        the builder
        Throws:
        IllegalArgumentException - if the directory is not a valid directory
      • setLogDirectory

        public T setLogDirectory​(Path path)
        Sets the log directory to be used for log files.

        If set to null, the default, the log directory will be resolved.

        Parameters:
        path - the path to the log directory or null to have the log directory resolved
        Returns:
        the builder
        Throws:
        IllegalArgumentException - if the directory is not a valid directory
      • getConfigurationDirectory

        public Path getConfigurationDirectory()
        Returns the configuration directory for the server.
        Returns:
        the configuration directory
      • setConfigurationDirectory

        public T setConfigurationDirectory​(String path)
        Sets the configuration directory to be used for configuration files.

        If set to null, the default, the configuration directory will be resolved.

        Parameters:
        path - the path to the configuration directory or null to have the configuration directory resolved
        Returns:
        the builder
        Throws:
        IllegalArgumentException - if the directory is not a valid directory
      • setConfigurationDirectory

        public T setConfigurationDirectory​(Path path)
        Sets the configuration directory to be used for configuration files.

        If set to null, the default, the configuration directory will be resolved.

        Parameters:
        path - the path to the configuration directory or null to have the configuration directory resolved
        Returns:
        the builder
        Throws:
        IllegalArgumentException - if the directory is not a valid directory
      • setAdminOnly

        public T setAdminOnly()
        Sets the server argument --admin-only.
        Returns:
        the builder
      • setStartSuspended

        public T setStartSuspended()
        Sets the server argument --start-mode=suspend.
        Returns:
        the builder
      • setBindAddressHint

        public T setBindAddressHint​(String address)
        Sets the system property jboss.bind.address to the address given.

        This will override any previous value set via JBossModulesCommandBuilder.addServerArgument(String).

        Note: This option only works if the standard system property has not been removed from the interface. If the system property was removed the address provided has no effect.

        Parameters:
        address - the address to set the bind address to
        Returns:
        the builder
      • setBindAddressHint

        public T setBindAddressHint​(String interfaceName,
                                    String address)
        Sets the system property jboss.bind.address.$INTERFACE to the address given where $INTERFACE is the interfaceName parameter. For example in the default configuration passing management for the interfaceName parameter would result in the system property jboss.bind.address.management being set to the address provided.

        This will override any previous value set via JBossModulesCommandBuilder.addServerArgument(String).

        Note: This option only works if the standard system property has not been removed from the interface. If the system property was removed the address provided has no effect.

        Parameters:
        interfaceName - the name of the interface of the binding address
        address - the address to bind the management interface to
        Returns:
        the builder
      • setMulticastAddressHint

        public T setMulticastAddressHint​(String address)
        Sets the system property jboss.default.multicast.address to the address given.

        This will override any previous value set via JBossModulesCommandBuilder.addServerArgument(String).

        Note: This option only works if the standard system property has not been removed from the interface. If the system property was removed the address provided has no effect.

        Parameters:
        address - the address to set the multicast system property to
        Returns:
        the builder
      • addPropertiesFile

        public T addPropertiesFile​(String file)
        Adds a properties file to be passed to the server. Note that the file must exist.
        Parameters:
        file - the file to add
        Returns:
        the builder
        Throws:
        IllegalArgumentException - if the file does not exist or is not a regular file
      • addPropertiesFile

        public T addPropertiesFile​(Path file)
        Adds a properties file to be passed to the server. Note that the file must exist.
        Parameters:
        file - the file to add
        Returns:
        the builder
        Throws:
        IllegalArgumentException - if the file does not exist or is not a regular file
      • setPropertiesFile

        public T setPropertiesFile​(String file)
        Sets the properties file to use for the server or null to remove the file. Note that the file must exist.

        This will override any previous values set.

        Parameters:
        file - the properties file to use or null
        Returns:
        the builder
        Throws:
        IllegalArgumentException - if the file does not exist or is not a regular file
      • setPropertiesFile

        public T setPropertiesFile​(Path file)
        Sets the properties file to use for the server or null to remove the file. Note that the file must exist.

        This will override any previous values set.

        Parameters:
        file - the properties file to use or null
        Returns:
        the builder
        Throws:
        IllegalArgumentException - if the file does not exist or is not a regular file
      • getLoggingPropertiesArgument

        protected String getLoggingPropertiesArgument​(String fileName)
        Returns the command line argument that specifies the logging configuration.
        Parameters:
        fileName - the name of the configuration file
        Returns:
        the command line argument
      • getBootLogArgument

        protected String getBootLogArgument​(String fileName)
        Returns the command line argument that specifies the path the log file that should be used.

        This is generally only used on the initial boot of the server in standalone. The server will rewrite the configuration file with hard-coded values.

        Parameters:
        fileName - the name of the file
        Returns:
        the command line argument
      • normalizePath

        protected Path normalizePath​(String path)
        Resolves the path to the path relative to the WildFly home directory.
        Parameters:
        path - the name of the relative path
        Returns:
        the normalized path
      • normalizePath

        protected Path normalizePath​(Path parent,
                                     String path)
        Resolves the path relative to the parent and normalizes it.
        Parameters:
        parent - the parent path
        path - the path
        Returns:
        the normalized path
      • addSystemPropertyArg

        protected static void addSystemPropertyArg​(List<String> cmd,
                                                   String key,
                                                   Object value)