130 StringTokenizer optionsTokenizer = new StringTokenizer(options);
131 StringTokenizer argsTokenizer = new StringTokenizer(args);
132 int optionsCount = optionsTokenizer.countTokens();
133 int argsCount = argsTokenizer.countTokens();
134
135 String javaCommand[] = new String[optionsCount + argsCount + 2];
136 int count = 0;
137
138 javaCommand[count++] = JavaVM.javaProgram;
139 while (optionsTokenizer.hasMoreTokens()) {
140 javaCommand[count++] = optionsTokenizer.nextToken();
141 }
142 javaCommand[count++] = classname;
143 while (argsTokenizer.hasMoreTokens()) {
144 javaCommand[count++] = argsTokenizer.nextToken();
145 }
146
147 mesg("command = " + Arrays.asList(javaCommand).toString());
148 System.err.println("");
149
150 vm = Runtime.getRuntime().exec(javaCommand);
151
152 /* output from the execed process may optionally be captured. */
153 StreamPipe.plugTogether(vm.getInputStream(), this.outputStream);
154 StreamPipe.plugTogether(vm.getErrorStream(), this.errorStream);
155
156 try {
157 Thread.sleep(2000);
158 } catch (Exception ignore) {
159 }
160
161 mesg("finished starting vm.");
162 }
163
164 public void destroy() {
165 if (vm != null) {
166 vm.destroy();
167 }
168 vm = null;
169 }
|
130 StringTokenizer optionsTokenizer = new StringTokenizer(options);
131 StringTokenizer argsTokenizer = new StringTokenizer(args);
132 int optionsCount = optionsTokenizer.countTokens();
133 int argsCount = argsTokenizer.countTokens();
134
135 String javaCommand[] = new String[optionsCount + argsCount + 2];
136 int count = 0;
137
138 javaCommand[count++] = JavaVM.javaProgram;
139 while (optionsTokenizer.hasMoreTokens()) {
140 javaCommand[count++] = optionsTokenizer.nextToken();
141 }
142 javaCommand[count++] = classname;
143 while (argsTokenizer.hasMoreTokens()) {
144 javaCommand[count++] = argsTokenizer.nextToken();
145 }
146
147 mesg("command = " + Arrays.asList(javaCommand).toString());
148 System.err.println("");
149
150 System.out.println("JavaVM javaCommand = " + javaCommand);
151 vm = Runtime.getRuntime().exec(javaCommand);
152
153 /* output from the execed process may optionally be captured. */
154 StreamPipe.plugTogether(vm.getInputStream(), this.outputStream);
155 StreamPipe.plugTogether(vm.getErrorStream(), this.errorStream);
156
157 try {
158 Thread.sleep(2000);
159 } catch (Exception ignore) {
160 }
161
162 mesg("finished starting vm.");
163 }
164
165 public void destroy() {
166 if (vm != null) {
167 vm.destroy();
168 }
169 vm = null;
170 }
|