Author: rob.stryker(a)jboss.com
Date: 2008-11-24 19:22:12 -0500 (Mon, 24 Nov 2008)
New Revision: 12000
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/JBossServerBehavior.java
Log:
JBIDE-2627 - allow automatic adding of deploy location via jmx
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/JBossServerBehavior.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/JBossServerBehavior.java 2008-11-24
22:57:50 UTC (rev 11999)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/JBossServerBehavior.java 2008-11-25
00:22:12 UTC (rev 12000)
@@ -38,9 +38,11 @@
import org.jboss.ide.eclipse.as.core.JBossServerCorePlugin;
import org.jboss.ide.eclipse.as.core.extensions.events.ServerLogger;
import org.jboss.ide.eclipse.as.core.extensions.jmx.JBossServerConnectionProvider;
+import org.jboss.ide.eclipse.as.core.server.IDeployableServer;
import org.jboss.ide.eclipse.as.core.server.IServerStatePoller;
import
org.jboss.ide.eclipse.as.core.server.internal.launch.JBossServerStartupLaunchConfiguration;
import org.jboss.ide.eclipse.as.core.server.internal.launch.StopLaunchConfiguration;
+import org.jboss.ide.eclipse.as.core.util.ServerConverter;
import org.jboss.tools.jmx.core.IJMXRunnable;
/**
@@ -189,13 +191,26 @@
protected void publishStart(IProgressMonitor monitor) throws CoreException {
super.publishStart(monitor);
- if( shouldSuspendScanner() )
- suspendDeployment();
+ suspendDeployment();
+ ensureDeployLocationAdded();
}
+
+ protected void ensureDeployLocationAdded() {
+ final IDeployableServer ds = ServerConverter.getDeployableServer(getServer());
+ IJMXRunnable r = new IJMXRunnable() {
+ public void run(MBeanServerConnection connection) throws Exception {
+ ObjectName name = new
ObjectName("jboss.deployment:flavor=URL,type=DeploymentScanner");
+ connection.invoke(name, "addURL", new Object[] { "file:" +
ds.getDeployFolder() }, new String[] {String.class.getName()});
+ }
+ };
+ try {
+ if( getServer().getServerState() == IServer.STATE_STARTED)
+ JBossServerConnectionProvider.run(getServer(), r);
+ } catch( CoreException ce) {}
+ }
protected void publishFinish(IProgressMonitor monitor) throws CoreException {
- if( shouldSuspendScanner() )
- resumeDeployment();
+ resumeDeployment();
super.publishFinish(monitor);
}
@@ -215,7 +230,8 @@
}
};
try {
- JBossServerConnectionProvider.run(getServer(), r);
+ if( shouldSuspendScanner() )
+ JBossServerConnectionProvider.run(getServer(), r);
} catch( CoreException ce) {} // ignore
}
@@ -227,7 +243,8 @@
}
};
try {
- JBossServerConnectionProvider.run(getServer(), r);
+ if( shouldSuspendScanner() )
+ JBossServerConnectionProvider.run(getServer(), r);
} catch( CoreException ce) {} // ignore
}
Show replies by date