Author: adietish
Date: 2011-06-23 09:17:57 -0400 (Thu, 23 Jun 2011)
New Revision: 32314
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/JBoss7ServerBehavior.java
Log:
[JBIDE-9927] fall back to kill process if mgmt service call fails
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/JBoss7ServerBehavior.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/JBoss7ServerBehavior.java 2011-06-23
13:16:07 UTC (rev 32313)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/JBoss7ServerBehavior.java 2011-06-23
13:17:57 UTC (rev 32314)
@@ -24,6 +24,7 @@
import org.eclipse.core.runtime.Status;
import org.eclipse.core.runtime.SubProgressMonitor;
import org.eclipse.debug.core.DebugEvent;
+import org.eclipse.debug.core.DebugException;
import org.eclipse.debug.core.DebugPlugin;
import org.eclipse.debug.core.IDebugEventSetListener;
import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
@@ -37,6 +38,7 @@
import org.jboss.ide.eclipse.as.core.extensions.events.ServerLogger;
import org.jboss.ide.eclipse.as.core.publishers.LocalPublishMethod;
import org.jboss.ide.eclipse.as.core.server.IJBoss7ManagerService;
+import org.jboss.ide.eclipse.as.core.server.IJBossServerRuntime;
import org.jboss.ide.eclipse.as.core.server.internal.JBossServerBehavior;
import org.jboss.ide.eclipse.as.core.server.internal.PollThread;
import org.jboss.ide.eclipse.as.core.util.IJBossToolingConstants;
@@ -78,7 +80,8 @@
throws CoreException {
IServer server = getServer();
IRuntime runtime = server.getRuntime();
- new JBoss7RuntimeLaunchConfigurator(launchConfig).apply(server);
+ IJBossServerRuntime serverRuntime = (IJBossServerRuntime)
runtime.loadAdapter(IJBossServerRuntime.class, null);
+ new JBoss7RuntimeLaunchConfigurator(launchConfig).apply(server, runtime,
serverRuntime);
}
public void setProcess(IProcess process) {
@@ -161,20 +164,23 @@
}
try {
if (force) {
- if( serverProcess != null )
- serverProcess.terminate();
+ terminateProcess();
} else {
serverStopping();
// TODO: for now only local, implement for remote afterwards
- if (isServerRunning(getServer().getHost(), getJBoss7Server().getManagementPort())) {
- // The service and Poller will make sure the server is down
- getService().stop(getServer().getHost(), getJBoss7Server().getManagementPort());
- return;
- } else {
- if( serverProcess != null && !serverProcess.isTerminated()) {
- serverProcess.terminate();
+// disabled because of JBIDE-9173
+ try {
+ if (isServerRunning(getServer().getHost(), getJBoss7Server().getManagementPort()))
{
+ // The service and Poller will make sure the server is down
+ getService().stop(getServer().getHost(), getJBoss7Server().getManagementPort());
+ return;
+ } else {
+ terminateProcess();
}
+ } catch(Exception e) {
+ terminateProcess();
}
+// terminateProcess();
}
} catch (Exception e) {
IStatus status = new Status(IStatus.ERROR, JBossServerCorePlugin.PLUGIN_ID,
MessageFormat.format(Messages.JBoss7ServerBehavior_could_not_stop, getServer().getName()),
e);
@@ -183,6 +189,12 @@
setServerStopped();
}
+ private void terminateProcess() throws DebugException {
+ if( serverProcess != null && !serverProcess.isTerminated()) {
+ serverProcess.terminate();
+ }
+ }
+
@Override
public void dispose() {
super.dispose();
Show replies by date