ammulder 2005/07/22 17:30:45
Modified: modules/core/src/java/org/openejb EJBModuleImpl.java
Log:
Make it implement the EJBModule JSR-77 interface
Revision Changes Path
1.16 +35 -6
openejb/modules/core/src/java/org/openejb/EJBModuleImpl.java
Index: EJBModuleImpl.java
===================================================================
RCS file:
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/EJBModuleImpl.java,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -r1.15 -r1.16
--- EJBModuleImpl.java 6 Mar 2005 02:49:24 -0000 1.15
+++ EJBModuleImpl.java 22 Jul 2005 21:30:45 -0000 1.16
@@ -56,6 +56,7 @@
import org.apache.geronimo.gbean.GBeanLifecycle;
import org.apache.geronimo.j2ee.management.J2EEApplication;
import org.apache.geronimo.j2ee.management.J2EEServer;
+import org.apache.geronimo.j2ee.management.EJBModule;
import org.apache.geronimo.j2ee.management.impl.InvalidObjectNameException;
import org.apache.geronimo.j2ee.management.impl.Util;
import org.apache.geronimo.j2ee.j2eeobjectnames.NameFactory;
@@ -64,6 +65,8 @@
import org.apache.geronimo.kernel.Kernel;
import org.apache.geronimo.kernel.jmx.JMXUtil;
import org.apache.geronimo.transaction.context.TransactionContextManager;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
import org.openejb.entity.cmp.ConnectionProxyFactory;
import org.tranql.ejb.TransactionManagerDelegate;
import org.tranql.query.ConnectionFactoryDelegate;
@@ -71,7 +74,8 @@
/**
* @version $Revision$ $Date$
*/
-public class EJBModuleImpl implements GBeanLifecycle {
+public class EJBModuleImpl implements GBeanLifecycle, EJBModule {
+ private final static Log log = LogFactory.getLog(EJBModuleImpl.class);
private final Kernel kernel;
private final J2eeContext moduleContext;
private final J2EEServer server;
@@ -82,8 +86,10 @@
private final TransactionManagerDelegate tmDelegate;
private final TransactionContextManager transactionContextManager;
private final String[] J2EE_TYPES = {NameFactory.ENTITY_BEAN,
NameFactory.STATELESS_SESSION_BEAN, NameFactory.STATEFUL_SESSION_BEAN,
NameFactory.MESSAGE_DRIVEN_BEAN};
+ private final String objectName;
public EJBModuleImpl(Kernel kernel, String objectName, J2EEServer
server, J2EEApplication application, String deploymentDescriptor,
ConnectionFactoryDelegate delegate, ConnectionProxyFactory connectionFactory,
TransactionManagerDelegate tmDelegate, TransactionContextManager
transactionContextManager) {
+ this.objectName = objectName;
ObjectName myObjectName = JMXUtil.getObjectName(objectName);
verifyObjectName(myObjectName);
moduleContext = J2eeContextImpl.newContext(myObjectName,
NameFactory.EJB_MODULE);
@@ -98,6 +104,22 @@
this.transactionContextManager = transactionContextManager;
}
+ public String getObjectName() {
+ return objectName;
+ }
+
+ public boolean isStateManageable() {
+ return true;
+ }
+
+ public boolean isStatisticsProvider() {
+ return false;
+ }
+
+ public boolean isEventProvider() {
+ return true;
+ }
+
public String getDeploymentDescriptor() {
return deploymentDescriptor;
}
@@ -117,10 +139,15 @@
return server.getJavaVMs();
}
- public String[] getEJBs() throws MalformedObjectNameException {
- return Util.getObjectNames(kernel,
- moduleContext,
- J2EE_TYPES);
+ public String[] getEJBs() {
+ try {
+ return Util.getObjectNames(kernel,
+ moduleContext,
+ J2EE_TYPES);
+ } catch (MalformedObjectNameException e) {
+ log.error(e);
+ return null;
+ }
}
/**
@@ -196,6 +223,8 @@
infoBuilder.addAttribute("application", String.class, false);
infoBuilder.addAttribute("javaVMs", String[].class, false);
infoBuilder.addAttribute("ejbs", String[].class, false);
+
+ infoBuilder.addInterface(EJBModule.class);
infoBuilder.setConstructor(new String[]{
"kernel",