[jboss-cvs] jbosside/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server ...
Robert Stryker
rawblem at gmail.com
Wed Aug 9 15:27:13 EDT 2006
User: rawb
Date: 06/08/09 15:27:13
Modified: as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server
ServerAttributeHelper.java ServerStateChecker.java
Log:
UI and Core changes to allow for non-JMX-enabled servers to be 'started' even when I can't verify it.
Revision Changes Path
1.6 +15 -3 jbosside/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/ServerAttributeHelper.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: ServerAttributeHelper.java
===================================================================
RCS file: /cvsroot/jboss/jbosside/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/ServerAttributeHelper.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- ServerAttributeHelper.java 8 Aug 2006 14:48:29 -0000 1.5
+++ ServerAttributeHelper.java 9 Aug 2006 19:27:13 -0000 1.6
@@ -26,6 +26,13 @@
public static final String XPATH_CATEGORY2_PREFIX = "_XPATH_CATEGORY2_PREFIX_";
public static final String XPATH_PROPERTY_PREFIX = "_XPATH_PROPERTY_PREFIX_";
+ public static final String START_TIMEOUT = "_START_TIMEOUT_";
+ public static final String STOP_TIMEOUT = "_STOP_TIMEOUT_";
+
+
+ public static final String TIMEOUT_BEHAVIOR = "_TIMEOUT_BEHAVIOR_";
+ public static final boolean TIMEOUT_ABORT = true;
+ public static final boolean TIMEOUT_IGNORE = false;
private ServerWorkingCopy server;
@@ -89,9 +96,6 @@
- public static final String START_TIMEOUT = "_START_TIMEOUT_";
- public static final String STOP_TIMEOUT = "_STOP_TIMEOUT_";
-
public int getStartTimeout() {
int prop = server.getAttribute(START_TIMEOUT, -1);
int max = ((ServerType)server.getServerType()).getStartTimeout();
@@ -115,6 +119,14 @@
}
+ public void setTimeoutBehavior(boolean bool) {
+ server.setAttribute(TIMEOUT_BEHAVIOR, bool);
+ }
+ public boolean getTimeoutBehavior() {
+ return server.getAttribute(TIMEOUT_BEHAVIOR, TIMEOUT_ABORT);
+ }
+
+
public IServerWorkingCopy getServer() {
return this.server;
}
1.12 +28 -1 jbosside/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/ServerStateChecker.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: ServerStateChecker.java
===================================================================
RCS file: /cvsroot/jboss/jbosside/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/ServerStateChecker.java,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -b -r1.11 -r1.12
--- ServerStateChecker.java 27 Jul 2006 15:59:30 -0000 1.11
+++ ServerStateChecker.java 9 Aug 2006 19:27:13 -0000 1.12
@@ -121,12 +121,22 @@
ent.getEventLog().branchChanged();
}
+ // If we canceled, die in that fashion
if( canceled ) {
dieCanceled();
return;
}
boolean success = (expectedState && twiddleResults == UP) || (!expectedState && twiddleResults == DOWN);
+
+ // If we timed out while trying to start the server, and we failed to start, die that way.
+ if( current >= max && !success && expectedState) {
+ dieTimeoutFailure();
+ return;
+ }
+
+
+
StateCheckerLogEvent finalEvent = new StateCheckerLogEvent(twiddleResults, expectedState);
finalEvent.setTime(current);
eventLog.addChild(finalEvent, ProcessLogEvent.ADD_END);
@@ -156,6 +166,21 @@
ent.removeSPListener(this);
}
+ private void dieTimeoutFailure() {
+ ASDebug.p("Timeout on startup", this);
+ boolean abortOrIgnore = jbServer.getAttributeHelper().getTimeoutBehavior();
+ if( abortOrIgnore == ServerAttributeHelper.TIMEOUT_ABORT ) {
+ behavior.setServerState(true, false);;
+ } else {
+ behavior.setServerState(true, true);;
+ }
+
+ eventLog.addChild(new StateCheckerLogEvent(StateCheckerLogEvent.SERVER_STATE_CHANGE_TIMEOUT));
+ eventLog.setComplete();
+ ent.getEventLog().branchChanged();
+ ent.removeSPListener(this);
+ }
+
public static class StateCheckerLogEvent extends ProcessLogEvent {
public static final String EXPECTED_STATE = "_EXPECTED_STATE_";
public static final String CURRENT_STATE = "_CURRENT_STATE_";
@@ -164,7 +189,7 @@
public static final String EVENT_TYPE = "_EVENT_TYPE_";
public static final String TIME = "_TIME_";
-
+ public static final int SERVER_STATE_CHANGE_TIMEOUT = 0;
public static final int SERVER_STATE_CHANGE_CANCELED = 1;
public static final int SERVER_STARTING = 2;
public static final int SERVER_STOPPING = 3;
@@ -208,6 +233,8 @@
if( getEventType() == DURING ) return new String[] {CURRENT_STATE, TIME, TwiddleLogEvent.ARGS, TwiddleLogEvent.OUT};
if( getEventType() == AFTER ) return new String[] {EXPECTED_STATE, CURRENT_STATE, SUCCESS, TIME};
if( getEventType() == SERVER_STATE_CHANGE_CANCELED ) return new String[] {};
+ if( getEventType() == SERVER_STATE_CHANGE_TIMEOUT ) return new String[] {};
+
return new String[] {};
}
More information about the jboss-cvs-commits
mailing list