From 0960d618991babd0585b1f98781408ce7f1e080c Mon Sep 17 00:00:00 2001 From: Andrew Branson Date: Tue, 25 Jun 2013 17:33:22 +0200 Subject: Error thrown if ORB had been destroyed was not informative enough. Throw a better one. --- src/main/java/com/c2kernel/process/Gateway.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src/main/java/com/c2kernel/process') 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; -- cgit v1.2.3