Class LoadClientAppsJob

  • All Implemented Interfaces:
    Job

    public class LoadClientAppsJob
    extends JobImpl
    Run any client applications specified in clients.config. If any clientApp contains the config property ".onBoot=true" it'll be launched immediately, otherwise it'll get queued up for starting 2 minutes later.
    • Constructor Detail

      • LoadClientAppsJob

        public LoadClientAppsJob​(RouterContext ctx)
    • Method Detail

      • runJob

        public void runJob()
        Description copied from interface: Job
        Actually perform the task. This call blocks until the Job is complete.
      • parseArgs

        public static String[] parseArgs​(String args)
        Parse arg string into an array of args. Spaces or tabs separate args. Args may be single- or double-quoted if they contain spaces or tabs. There is no provision for escaping quotes. A quoted string may not contain a quote of any kind.
        Parameters:
        args - may be null
        Returns:
        non-null, 0-length if args is null
      • testClient

        public static void testClient​(String className,
                                      ClassLoader cl)
                               throws ClassNotFoundException
        Use to test if the class is present, to propagate an error back to the user, since runClient() runs in a separate thread.
        Parameters:
        cl - can be null
        Throws:
        ClassNotFoundException
        Since:
        0.7.13
      • runClientInline

        public static void runClientInline​(String className,
                                           String clientName,
                                           String[] args,
                                           Log log)
                                    throws Exception
        Run client in this thread. Used for plugin sub-clients only. Does not register with the ClientAppManager.
        Parameters:
        clientName - can be null
        args - can be null
        Throws:
        Exception - just about anything, caller would be wise to catch Throwable
        Since:
        0.7.13
      • runClientInline

        public static void runClientInline​(String className,
                                           String clientName,
                                           String[] args,
                                           Log log,
                                           ClassLoader cl)
                                    throws Exception
        Run client in this thread. Used for plugin sub-clients only. Does not register with the ClientAppManager.
        Parameters:
        clientName - can be null
        args - can be null
        cl - can be null
        Throws:
        Exception - just about anything, caller would be wise to catch Throwable
        Since:
        0.7.14
      • runClient

        public static void runClient​(String className,
                                     String clientName,
                                     String[] args,
                                     RouterContext ctx,
                                     Log log)
        Run client in a new thread.
        Parameters:
        clientName - can be null
        args - can be null
      • runClient

        public static void runClient​(String className,
                                     String clientName,
                                     String[] args,
                                     RouterContext ctx,
                                     Log log,
                                     ThreadGroup threadGroup,
                                     ClassLoader cl)
        Run client in a new thread.
        Parameters:
        clientName - can be null
        args - can be null
        threadGroup - can be null
        cl - can be null
        Since:
        0.7.13
      • getName

        public String getName()
        Description copied from interface: Job
        Descriptive name of the task