You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by rm...@apache.org on 2012/10/01 18:57:03 UTC
svn commit: r1392442 -
/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/RemoteServer.java
Author: rmannibucau
Date: Mon Oct 1 16:57:03 2012
New Revision: 1392442
URL: http://svn.apache.org/viewvc?rev=1392442&view=rev
Log:
TOMEE-441 tries was not used
Modified:
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/RemoteServer.java
Modified: openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/RemoteServer.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/RemoteServer.java?rev=1392442&r1=1392441&r2=1392442&view=diff
==============================================================================
--- openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/RemoteServer.java (original)
+++ openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/RemoteServer.java Mon Oct 1 16:57:03 2012
@@ -504,33 +504,35 @@ public class RemoteServer {
public void run() {
long sleep = 0; // recall immediately shutdown (win issue)
int tries = MAX_TRIES;
- try {
- Thread.sleep(sleep);
- sleep += SLEEP_INC;
- if (server != null) {
- server.exitValue();
- }
- } catch (IllegalThreadStateException itse) {
- tries--;
- if (tries == 0) {
+ while (tries > 0) {
+ try {
+ Thread.sleep(sleep);
+ sleep += SLEEP_INC;
if (server != null) {
- // not yet terminated, kill
- server.destroy();
+ server.exitValue();
+ }
+ break; // server == null or exitValue returned (= process stopped)
+ } catch (IllegalThreadStateException itse) {
+ tries--;
+ if (tries == 0) { // kill if possible
+ if (server != null) {
+ server.destroy();
+ try {
+ server.waitFor();
+ } catch (InterruptedException e) {
+ // no-op
+ }
+ }
+ } else { // under windows we sometimes need to send shutdown multiple times (see connect())
try {
- server.waitFor();
- } catch (InterruptedException e) {
+ shutdown();
+ } catch (Exception e) {
// no-op
}
}
- } else { // under windows we sometimes need to send shutdown multiple times
- try {
- shutdown();
- } catch (Exception e) {
- // no-op
- }
+ } catch (InterruptedException e) {
+ // no-op
}
- } catch (InterruptedException e) {
- // no-op
}
}
}