131 |
|
Component component = null; |
132 |
|
while(tryAgain) { |
133 |
|
Iterator i = componentsToStart.iterator(); |
134 |
+ |
ArrayList failedComponents = new ArrayList(); |
135 |
|
while(i.hasNext()) { |
136 |
|
try { |
137 |
|
component = (Component) i.next(); |
138 |
|
System.out.println(toString + ": starting component - " + component.toString()); |
139 |
|
component.start(); |
139 |
– |
componentsToStart.remove(componentsToStart.indexOf(component)); |
140 |
|
} catch (ComponentStartException e) { |
141 |
|
System.err.println(toString + ": ERROR starting component - " + component.toString()); |
142 |
|
System.err.println(toString + ": component reports - " + e.getMessage()); |
145 |
|
System.err.println(toString + ": WARNING Component reported CORBA communications failure"); |
146 |
|
System.err.println(toString + ": This could be because it can't communicate with components it needs."); |
147 |
|
System.err.println(toString + ": component reports - " + e2.getMessage()); |
148 |
+ |
failedComponents.add(component); |
149 |
|
} |
150 |
|
} |
151 |
|
if (componentsToStart.size() > 0) { |
159 |
|
} else { |
160 |
|
tryAgain = false; |
161 |
|
} |
162 |
+ |
componentsToStart = failedComponents; |
163 |
|
} |
164 |
|
|
165 |
|
System.out.println(toString + ": running"); |