Author: adietish
Date: 2011-07-13 07:35:28 -0400 (Wed, 13 Jul 2011)
New Revision: 32885
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/IServerStatePoller.java
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/PollThread.java
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/JBoss7ManagerServicePoller.java
Log:
[JBIDE-9337] proper service creation & disposal added to JBoss7ManagerServicePoller
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/IServerStatePoller.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/IServerStatePoller.java 2011-07-13
10:15:41 UTC (rev 32884)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/IServerStatePoller.java 2011-07-13
11:35:28 UTC (rev 32885)
@@ -52,11 +52,17 @@
public ServerStatePollerType getPollerType();
public void setPollerType(ServerStatePollerType type);
- public void beginPolling(IServer server, boolean expectedState, PollThread pt); //
expected to launch own thread
+ /*
+ * expected to launch own thread
+ */
+ public void beginPolling(IServer server, boolean expectedState, PollThread pt) throws
Exception;
public IServer getServer();
public boolean isComplete() throws PollingException, RequiresInfoException;
public boolean getState() throws PollingException, RequiresInfoException;
- public void cleanup(); // clean up any resources / processes. Will ALWAYS be called
+ /*
+ * clean up any resources / processes. Will ALWAYS be called
+ */
+ public void cleanup();
public List<String> getRequiredProperties();
public void failureHandled(Properties properties);
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/PollThread.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/PollThread.java 2011-07-13
10:15:41 UTC (rev 32884)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/PollThread.java 2011-07-13
11:35:28 UTC (rev 32885)
@@ -98,39 +98,43 @@
long startTime = new Date().getTime();
boolean done = false;
- poller.beginPolling(getServer(), expectedState, this);
-
- // begin the loop; ask the poller every so often
- while (!stateStartedOrStopped && !abort && !done
- && (new Date().getTime() < startTime + maxWait) || maxWait < 0) {
- try {
- Thread.sleep(100);
- } catch (InterruptedException ie) {
- }
-
- try {
- done = poller.isComplete();
- } catch (PollingException e) {
- // abort and put the message in event log
- poller.cancel(IServerStatePoller.CANCEL);
- poller.cleanup();
- alertEventLogPollerException(e);
- alertBehavior(!expectedState, false);
- return;
- } catch (RequiresInfoException rie) {
- // This way each request for new info is checked only once.
- if (!rie.getChecked()) {
- rie.setChecked();
- String action = expectedState == IServerStatePoller.SERVER_UP ? SERVER_STARTING
- : SERVER_STOPPING;
- IPollerFailureHandler handler = ExtensionManager
- .getDefault().getFirstPollFailureHandler(poller,
- action, poller.getRequiredProperties());
- handler.handle(poller, action, poller
- .getRequiredProperties());
+ try {
+ poller.beginPolling(getServer(), expectedState, this);
+
+ // begin the loop; ask the poller every so often
+ while (!stateStartedOrStopped && !abort && !done
+ && (new Date().getTime() < startTime + maxWait) || maxWait < 0) {
+ try {
+ Thread.sleep(100);
+ } catch (InterruptedException ie) {
}
+
+ try {
+ done = poller.isComplete();
+ } catch (PollingException e) {
+ // abort and put the message in event log
+ poller.cancel(IServerStatePoller.CANCEL);
+ poller.cleanup();
+ alertEventLogPollerException(e);
+ alertBehavior(!expectedState, false);
+ return;
+ } catch (RequiresInfoException rie) {
+ // This way each request for new info is checked only once.
+ if (!rie.getChecked()) {
+ rie.setChecked();
+ String action = expectedState == IServerStatePoller.SERVER_UP ? SERVER_STARTING
+ : SERVER_STOPPING;
+ IPollerFailureHandler handler = ExtensionManager
+ .getDefault().getFirstPollFailureHandler(poller,
+ action, poller.getRequiredProperties());
+ handler.handle(poller, action, poller
+ .getRequiredProperties());
+ }
+ }
+ stateStartedOrStopped = checkServerState();
}
- stateStartedOrStopped = checkServerState();
+ } catch(Exception e) {
+ abort = true;
}
// we stopped. Did we abort?
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/JBoss7ManagerServicePoller.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/JBoss7ManagerServicePoller.java 2011-07-13
10:15:41 UTC (rev 32884)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/JBoss7ManagerServicePoller.java 2011-07-13
11:35:28 UTC (rev 32885)
@@ -31,8 +31,10 @@
private IServer server;
private ServerStatePollerType type;
private boolean expectedState;
+ private IJBoss7ManagerService service;
- public void beginPolling(IServer server, boolean expectedState, PollThread pollTread) {
+ public void beginPolling(IServer server, boolean expectedState, PollThread pollTread)
throws Exception {
+ this.service = JBoss7ManagerUtil.getService(server);
this.server = server;
this.expectedState = expectedState;
}
@@ -61,7 +63,6 @@
public boolean isComplete() throws PollingException, RequiresInfoException {
IJBoss7ManagerService service = null;
try {
- service = JBoss7ManagerUtil.getService(server);
if (expectedState == SERVER_DOWN) {
return awaitShutdown(service);
} else {
@@ -121,6 +122,7 @@
}
public void cleanup() {
+ service.dispose();
}
public List<String> getRequiredProperties() {
Show replies by date