Class JavaFork

  • All Implemented Interfaces:
    java.lang.Runnable

    public class JavaFork
    extends java.lang.Object
    implements java.lang.Runnable
    This class allows launching another JVM from the current JVM. It takes the same classpath as the parent JVM.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private java.util.Map<java.lang.String,​java.lang.String> environment
      Additional environment variables.
      private static java.lang.String FILE_SEPARATOR  
      private static java.lang.String JAVA_COMMAND  
      private static java.lang.String PATH_SEPARATOR  
      private java.lang.Process process
      Process object of the JVM.
      private boolean redirectStreams
      If set to TRUE, output and error streams are redirected to the main JVM output stream
      private java.lang.Class<?> startClass
      Start class of the JVM.
      private boolean waitBeforeExiting
      If set to TRUE, main JVM will wait for this JVM to stop before exiting.
      private java.lang.String xms
      Xms parameter.
      private java.lang.String xmx
      Xmx parameter.
    • Constructor Summary

      Constructors 
      Constructor Description
      JavaFork()  
    • Field Detail

      • JAVA_COMMAND

        private static final java.lang.String JAVA_COMMAND
      • PATH_SEPARATOR

        private static final java.lang.String PATH_SEPARATOR
      • FILE_SEPARATOR

        private static final java.lang.String FILE_SEPARATOR
      • startClass

        private java.lang.Class<?> startClass
        Start class of the JVM.
      • process

        private java.lang.Process process
        Process object of the JVM. Is null if the JVM is not running.
      • redirectStreams

        private boolean redirectStreams
        If set to TRUE, output and error streams are redirected to the main JVM output stream
      • waitBeforeExiting

        private boolean waitBeforeExiting
        If set to TRUE, main JVM will wait for this JVM to stop before exiting.
      • environment

        private java.util.Map<java.lang.String,​java.lang.String> environment
        Additional environment variables.
      • xmx

        private java.lang.String xmx
        Xmx parameter. Default value is set to 128M.
      • xms

        private java.lang.String xms
        Xms parameter. Default value is set to 64M.
    • Constructor Detail

      • JavaFork

        public JavaFork()
    • Method Detail

      • start

        public void start​(java.lang.Class<?> startClass)
      • start

        public void start()
      • stop

        public void stop()
      • run

        public void run()
        Specified by:
        run in interface java.lang.Runnable
      • getCurrentClasspath

        private java.lang.String getCurrentClasspath()
      • getStartClass

        public java.lang.Class<?> getStartClass()
      • setStartClass

        public void setStartClass​(java.lang.Class<?> startClass)
      • getRedirectStreams

        public boolean getRedirectStreams()
      • setRedirectStreams

        public void setRedirectStreams​(boolean redirectStreams)
      • getWaitBeforeExiting

        public boolean getWaitBeforeExiting()
      • setWaitBeforeExiting

        public void setWaitBeforeExiting​(boolean waitBeforeExiting)
      • getEnvironment

        public java.util.Map<java.lang.String,​java.lang.String> getEnvironment()
      • setEnvironment

        public void setEnvironment​(java.util.Map<java.lang.String,​java.lang.String> environment)
      • getXmx

        public java.lang.String getXmx()
      • setXmx

        public void setXmx​(java.lang.String xmx)
      • getXms

        public java.lang.String getXms()
      • setXms

        public void setXms​(java.lang.String xms)