summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Branson <andrew.branson@cern.ch>2013-06-25 17:33:22 +0200
committerAndrew Branson <andrew.branson@cern.ch>2013-06-25 17:33:22 +0200
commit0960d618991babd0585b1f98781408ce7f1e080c (patch)
tree9c0a4b6bb9c1d95ed267cbaf4dea8b9dc80abdde
parentf5e87e2e267612f88e81959e6dcdabe23b340562 (diff)
Error thrown if ORB had been destroyed was not informative enough. Throw
a better one.
-rw-r--r--src/main/java/com/c2kernel/process/Gateway.java6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/main/java/com/c2kernel/process/Gateway.java b/src/main/java/com/c2kernel/process/Gateway.java
index 2eee5a5..fddda5c 100644
--- a/src/main/java/com/c2kernel/process/Gateway.java
+++ b/src/main/java/com/c2kernel/process/Gateway.java
@@ -52,13 +52,13 @@ public class Gateway
static private Properties mC2KProps;
static private ModuleManager mModules;
static private org.omg.CORBA.ORB mORB;
+ static private boolean orbDestroyed = false;
static private LDAPLookup mLDAPLookup;
static private TransactionManager mStorage;
static private EntityProxyManager mProxyManager;
static private CorbaServer mCorbaServer;
static private CastorXMLUtility mMarshaller;
static private AgentProxy mCurrentUser = null;
- //static private SimpleTCPIPServer mHTTPServer;
@@ -323,7 +323,7 @@ public class Gateway
{
// run shutdown module scripts
mModules.runScripts("shutdown");
-
+
// shut down servers if running
if (mCorbaServer != null)
mCorbaServer.close();
@@ -349,11 +349,13 @@ public class Gateway
Logger.closeConsole();
// finally, destroy the ORB
+ orbDestroyed = true;
getORB().destroy();
}
static public org.omg.CORBA.ORB getORB()
{
+ if (orbDestroyed) throw new RuntimeException("Gateway has been closed. ORB is destroyed.");
if (mORB == null)
mORB = org.omg.CORBA.ORB.init(new String[0], null);
return mORB;