summaryrefslogtreecommitdiff
path: root/java/src/IceGrid/Model.java
diff options
context:
space:
mode:
authorBernard Normier <bernard@zeroc.com>2005-10-24 03:54:51 +0000
committerBernard Normier <bernard@zeroc.com>2005-10-24 03:54:51 +0000
commit5b7fa81e49780378ad7608c05f274c03e397b578 (patch)
tree868d58db0ba8788ccd0bfbc463225d5c290933d1 /java/src/IceGrid/Model.java
parentAdded comment for FriendlyName. (diff)
downloadice-5b7fa81e49780378ad7608c05f274c03e397b578.tar.bz2
ice-5b7fa81e49780378ad7608c05f274c03e397b578.tar.xz
ice-5b7fa81e49780378ad7608c05f274c03e397b578.zip
Improved shutdown
Diffstat (limited to 'java/src/IceGrid/Model.java')
-rwxr-xr-xjava/src/IceGrid/Model.java41
1 files changed, 31 insertions, 10 deletions
diff --git a/java/src/IceGrid/Model.java b/java/src/IceGrid/Model.java
index ee36b0d0f53..7a94e84443d 100755
--- a/java/src/IceGrid/Model.java
+++ b/java/src/IceGrid/Model.java
@@ -949,21 +949,32 @@ public class Model
return _mainFrame;
}
-
- Model(JFrame mainFrame, String[] args, Preferences prefs, StatusBar statusBar)
- {
- _mainFrame = mainFrame;
- _prefs = prefs;
- _statusBar = statusBar;
-
+ static private Ice.Communicator createCommunicator(String[] args)
+ {
//
// TODO: work-around bug #542
//
+
Ice.Properties properties = Ice.Util.createProperties();
properties.setProperty("Ice.Override.ConnectTimeout", "5000");
properties.setProperty("IceGrid.AdminGUI.Endpoints", "tcp -t 10000");
+
+ //
+ // For Glacier
+ //
+ properties.setProperty("Ice.ACM.Client", "0");
+ properties.setProperty("Ice.MonitorConnections", "5");
+ properties.setProperty("Ice.RetryIntervals", "-1");
- _communicator = Ice.Util.initializeWithProperties(args, properties);
+ return Ice.Util.initializeWithProperties(args, properties);
+ }
+
+ Model(JFrame mainFrame, String[] args, Preferences prefs, StatusBar statusBar)
+ {
+ _mainFrame = mainFrame;
+ _prefs = prefs;
+ _statusBar = statusBar;
+ _communicator = createCommunicator(args);
_root = new Root(this);
_treeModel = new TreeModelI(_root);
@@ -1462,16 +1473,26 @@ public class Model
void exit(int status)
{
+ System.err.println("Exiting from thread " + Thread.currentThread().getName());
+
storeWindowPrefs();
+ System.err.println("Destroying communicator");
try
{
- _communicator.destroy();
+ if(_communicator != null)
+ {
+ _communicator.destroy();
+ }
}
catch(Ice.LocalException e)
{
// TODO: log error
}
+
+ System.err.println("Dispose of main frame");
_mainFrame.dispose();
+
+ System.err.println("Calling Runtime.exit");
Runtime.getRuntime().exit(status);
}
@@ -1604,7 +1625,7 @@ public class Model
}
- private Ice.Communicator _communicator;
+ private final Ice.Communicator _communicator;
private Preferences _prefs;
private StatusBar _statusBar;
private AdminPrx _admin;