djencks 2005/06/01 22:57:00
Modified: modules/core/src/java/org/openejb EJBContainer.java
GenericEJBContainer.java
Log:
GERONIMO-659 Make the ejb container point to the TSS gbean, not the TSS to
the ejb container. Also GERONIMO-658, use nice short config to find the TSS
bean
Revision Changes Path
1.11 +9 -1
openejb/modules/core/src/java/org/openejb/EJBContainer.java
Index: EJBContainer.java
===================================================================
RCS file:
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/EJBContainer.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- EJBContainer.java 8 May 2005 19:37:04 -0000 1.10
+++ EJBContainer.java 2 Jun 2005 02:56:59 -0000 1.11
@@ -148,7 +148,15 @@
*/
Subject getDefaultSubject();
+ /**
+ * CORBA home transaction import policy configuration
+ * @return
+ */
Serializable getHomeTxPolicyConfig();
+ /**
+ * CORBA remote transaction import policy configuration
+ * @return
+ */
Serializable getRemoteTxPolicyConfig();
}
1.50 +31 -11
openejb/modules/core/src/java/org/openejb/GenericEJBContainer.java
Index: GenericEJBContainer.java
===================================================================
RCS file:
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/GenericEJBContainer.java,v
retrieving revision 1.49
retrieving revision 1.50
diff -u -r1.49 -r1.50
--- GenericEJBContainer.java 8 May 2005 19:37:04 -0000 1.49
+++ GenericEJBContainer.java 2 Jun 2005 02:56:59 -0000 1.50
@@ -90,6 +90,7 @@
import org.openejb.proxy.EJBProxyFactory;
import org.openejb.proxy.ProxyInfo;
import org.openejb.timer.BasicTimerServiceImpl;
+import org.openejb.corba.TSSBean;
/**
@@ -114,6 +115,9 @@
private final Subject defaultSubject;
private final Subject runAsSubject;
private final BasicTimerServiceImpl timerService;
+
+ //corba security configuration
+ private final TSSBean tssBean;
//corba tx import policies
private final Serializable homeTxPolicyConfig;
private final Serializable remoteTxPolicyConfig;
@@ -137,7 +141,7 @@
Kernel kernel,
DefaultPrincipal defaultPrincipal,
Subject runAsSubject,
- Serializable homeTxPolicyConfig,
+ TSSBean tssBean, Serializable
homeTxPolicyConfig,
Serializable remoteTxPolicyConfig,
ClassLoader classLoader) throws Exception {
@@ -220,6 +224,8 @@
setupJndi();
+ this.tssBean = tssBean;
+
this.homeTxPolicyConfig = homeTxPolicyConfig;
this.remoteTxPolicyConfig = remoteTxPolicyConfig;
}
@@ -379,13 +385,24 @@
timerService.doStart();
}
- if (defaultSubject != null)
ContextManager.registerSubject(defaultSubject);
- if (runAsSubject != null)
ContextManager.registerSubject(runAsSubject);
+ if (defaultSubject != null) {
+ ContextManager.registerSubject(defaultSubject);
+ }
+ if (runAsSubject != null) {
+ ContextManager.registerSubject(runAsSubject);
+ }
+ //TODO we are giving out a direct reference, not a proxy
+ if (tssBean != null) {
+ tssBean.registerContainer(this);
+ }
log.info("GenericEJBContainer '" + containerId + "' started");
}
public void doStop() throws Exception {
+ if (tssBean != null) {
+ tssBean.unregisterContainer(this);
+ }
if (timerService != null) {
timerService.doStop();
}
@@ -423,11 +440,18 @@
infoFactory.addAttribute("UserTransaction",
UserTransactionImpl.class, true);
infoFactory.addAttribute("JndiNames", String[].class, true);
infoFactory.addAttribute("LocalJndiNames", String[].class, true);
+ infoFactory.addAttribute("DefaultPrincipal", DefaultPrincipal.class,
true);
+ infoFactory.addAttribute("RunAsSubject", Subject.class, true);
+
+ infoFactory.addAttribute("homeTxPolicyConfig", Serializable.class,
true);
+ infoFactory.addAttribute("remoteTxPolicyConfig", Serializable.class,
true);
infoFactory.addReference("TransactionContextManager",
TransactionContextManager.class, NameFactory.JTA_RESOURCE);
infoFactory.addReference("TrackedConnectionAssociator",
TrackedConnectionAssociator.class, NameFactory.JCA_RESOURCE);
infoFactory.addReference("Timer", ThreadPooledTimer.class,
NameFactory.GERONIMO_SERVICE);
+ infoFactory.addReference("TSSBean", TSSBean.class);
+
infoFactory.addAttribute("objectName", String.class, false);
infoFactory.addAttribute("kernel", Kernel.class, false);
@@ -436,11 +460,6 @@
infoFactory.addAttribute("ejbLocalHome", EJBLocalHome.class, false);
infoFactory.addAttribute("unmanagedReference", EJBContainer.class,
false);
- infoFactory.addAttribute("DefaultPrincipal", DefaultPrincipal.class,
true);
- infoFactory.addAttribute("RunAsSubject", Subject.class, true);
-
- infoFactory.addAttribute("HomeTxPolicyConfig", Serializable.class,
true);
- infoFactory.addAttribute("RemoteTxPolicyConfig", Serializable.class,
true);
infoFactory.addAttribute("classLoader", ClassLoader.class, false);
@@ -472,8 +491,9 @@
"kernel",
"DefaultPrincipal",
"RunAsSubject",
- "HomeTxPolicyConfig",
- "RemoteTxPolicyConfig",
+ "TSSBean",
+ "homeTxPolicyConfig",
+ "remoteTxPolicyConfig",
"classLoader"});
GBEAN_INFO = infoFactory.getBeanInfo();