You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by db...@apache.org on 2008/09/25 03:34:09 UTC
svn commit: r698792 -
/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/client/LocalInitialContext.java
Author: dblevins
Date: Wed Sep 24 18:34:09 2008
New Revision: 698792
URL: http://svn.apache.org/viewvc?rev=698792&view=rev
Log:
Ability to set the close behavior with a flag
Modified:
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/client/LocalInitialContext.java
Modified: openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/client/LocalInitialContext.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/client/LocalInitialContext.java?rev=698792&r1=698791&r2=698792&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/client/LocalInitialContext.java (original)
+++ openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/client/LocalInitialContext.java Wed Sep 24 18:34:09 2008
@@ -22,6 +22,7 @@
import org.apache.openejb.spi.ContainerSystem;
import org.apache.openejb.util.Logger;
import org.apache.openejb.util.LogCategory;
+import org.apache.openejb.util.Options;
import org.apache.openejb.core.ivm.ClientSecurity;
import org.apache.openejb.core.ivm.naming.ContextWrapper;
@@ -48,11 +49,21 @@
private Object clientIdentity;
private Object serviceManager;
+ private static final String ON_CLOSE = "openejb.embedded.initialcontext.close";
+ private Close onClose;
+
+ public static enum Close {
+ LOGOUT, RESTART, DESTROY;
+ }
+
+
public LocalInitialContext(Hashtable env, LocalInitialContextFactory factory) throws NamingException {
super(getContainerSystemEjbContext());
properties = new Properties();
properties.putAll(env);
+ onClose = Options.getEnum(properties, ON_CLOSE, Close.LOGOUT);
+
this.factory = factory;
login();
@@ -60,6 +71,7 @@
startNetworkServices();
Properties properties = new Properties();
+
// set standard and vendor properties
createEJBContainer(properties);
}
@@ -71,10 +83,20 @@
public void close() throws NamingException {
logger.debug("LocalIntialContext.close()");
- logout();
+ switch(onClose){
+ case LOGOUT: {
+ logout();
+ } break;
+ case DESTROY: {
+ logout();
+ destroy();
+ } break;
- stopNetworkServices();
+ }
+ }
+ private void destroy() throws NamingException {
+ stopNetworkServices();
tearDownOpenEJB();
}