User: schaefera
Date: 01/11/27 22:33:38
Modified: src/main/org/jboss/management/j2ee EJB.java EjbModule.java
J2EEApplication.java J2EEResource.java
J2EEServer.java JNDI.java
Added: src/main/org/jboss/management/j2ee JNDIMBean.java
Log:
Added the first J2EE Resource (JNDI) to the JSR-77 implementation. Also
the first component implementing the StateManageable interface (not
100% implemented yet).
Revision Changes Path
1.4 +2 -4 jboss/src/main/org/jboss/management/j2ee/EJB.java
Index: EJB.java
===================================================================
RCS file: /cvsroot/jboss/jboss/src/main/org/jboss/management/j2ee/EJB.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- EJB.java 2001/11/28 01:15:08 1.3
+++ EJB.java 2001/11/28 06:33:37 1.4
@@ -19,7 +19,7 @@
* {@link javax.management.j2ee.EJB EJB}.
*
* @author <a href="mailto:[EMAIL PROTECTED]">Andreas Schaefer</a>.
- * @version $Revision: 1.3 $
+ * @version $Revision: 1.4 $
*
* <p><b>Revisions:</b>
*
@@ -98,9 +98,7 @@
super( pType, pName, pEJBModule );
}
- // -------------------------------------------------------------------------
- // Properties (Getters/Setters)
- // -------------------------------------------------------------------------
+ // java.lang.Object overrides --------------------------------------
public String toString() {
return "EJB { " + super.toString() + " } []";
1.7 +1 -7 jboss/src/main/org/jboss/management/j2ee/EjbModule.java
Index: EjbModule.java
===================================================================
RCS file: /cvsroot/jboss/jboss/src/main/org/jboss/management/j2ee/EjbModule.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- EjbModule.java 2001/11/28 01:15:08 1.6
+++ EjbModule.java 2001/11/28 06:33:37 1.7
@@ -29,7 +29,7 @@
* {@link javax.management.j2ee.EjbModule EjbModule}.
*
* @author <a href="mailto:[EMAIL PROTECTED]">Andreas Schaefer</a>.
- * @version $Revision: 1.6 $
+ * @version $Revision: 1.7 $
*
* <p><b>Revisions:</b>
*
@@ -132,12 +132,6 @@
InvalidParentException
{
super( "EJBModule", pName, pApplication, pDeploymentDescriptor );
-/*
- if( pEJBs == null || pEJBs.length == 0 ) {
- throw new InvalidParameterException( "EJB list may not be null or empty" );
- }
- mEJBs = new ArrayList( Arrays.asList( pEJBs ) );
-*/
}
// Public --------------------------------------------------------
1.6 +1 -2 jboss/src/main/org/jboss/management/j2ee/J2EEApplication.java
Index: J2EEApplication.java
===================================================================
RCS file:
/cvsroot/jboss/jboss/src/main/org/jboss/management/j2ee/J2EEApplication.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- J2EEApplication.java 2001/11/28 01:15:08 1.5
+++ J2EEApplication.java 2001/11/28 06:33:37 1.6
@@ -24,7 +24,7 @@
* {@link javax.management.j2ee.J2EEApplication J2EEApplication}.
*
* @author <a href="mailto:[EMAIL PROTECTED]">Andreas Schaefer</a>.
- * @version $Revision: 1.5 $
+ * @version $Revision: 1.6 $
*
* <p><b>Revisions:</b>
*
@@ -38,7 +38,6 @@
extends J2EEDeployedObject
implements J2EEApplicationMBean
{
-
// Constants -----------------------------------------------------
// Attributes ----------------------------------------------------
1.4 +19 -12 jboss/src/main/org/jboss/management/j2ee/J2EEResource.java
Index: J2EEResource.java
===================================================================
RCS file: /cvsroot/jboss/jboss/src/main/org/jboss/management/j2ee/J2EEResource.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- J2EEResource.java 2001/11/27 06:15:26 1.3
+++ J2EEResource.java 2001/11/28 06:33:37 1.4
@@ -14,7 +14,7 @@
* {@link javax.management.j2ee.J2EEResource J2EEResource}.
*
* @author <a href="mailto:[EMAIL PROTECTED]">Andreas Schaefer</a>.
- * @version $Revision: 1.3 $
+ * @version $Revision: 1.4 $
*
* <p><b>Revisions:</b>
*
@@ -27,14 +27,14 @@
extends J2EEManagedObject
implements javax.management.j2ee.J2EEResource
{
- // -------------------------------------------------------------------------
- // Members
- // -------------------------------------------------------------------------
-
- // -------------------------------------------------------------------------
- // Constructors
- // -------------------------------------------------------------------------
-
+ // Constants -----------------------------------------------------
+
+ // Attributes ----------------------------------------------------
+
+ // Static --------------------------------------------------------
+
+ // Constructor ---------------------------------------------------
+
/**
* @param pName Name of the J2EEResource
*
@@ -47,9 +47,16 @@
{
super( pType, pName, pServer );
}
-
- // -------------------------------------------------------------------------
- // Properties (Getters/Setters)
- // -------------------------------------------------------------------------
+ // Z implementation ----------------------------------------------
+
+ // Y overrides ---------------------------------------------------
+
+ // Package protected ---------------------------------------------
+
+ // Protected -----------------------------------------------------
+
+ // Private -------------------------------------------------------
+
+ // Inner classes -------------------------------------------------
}
1.5 +19 -3 jboss/src/main/org/jboss/management/j2ee/J2EEServer.java
Index: J2EEServer.java
===================================================================
RCS file: /cvsroot/jboss/jboss/src/main/org/jboss/management/j2ee/J2EEServer.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- J2EEServer.java 2001/11/26 21:46:51 1.4
+++ J2EEServer.java 2001/11/28 06:33:37 1.5
@@ -19,7 +19,7 @@
* J2EEServer}.
*
* @author <a href="mailto:[EMAIL PROTECTED]">Andreas Schaefer</a>
- * @version $Revision: 1.4 $
+ * @version $Revision: 1.5 $
*
* <p><b>Revisions:</b>
*
@@ -118,7 +118,15 @@
mNodes.add( pChild );
} else if( "JVM".equals( lType ) ) {
mJVMs.add( pChild );
- } else if( "Resource".equals( lType ) ) {
+ } else
+ if( "JNDI".equals( lType ) ||
+ "JMS".equals( lType ) ||
+ "URL".equals( lType ) ||
+ "JTA".equals( lType ) ||
+ "JavaMail".equals( lType ) ||
+ "JDBC".equals( lType ) ||
+ "RMI IIOP".equals( lType )
+ ) {
mResources.add( pChild );
}
}
@@ -131,7 +139,15 @@
mNodes.remove( pChild );
} else if( "JVM".equals( lType ) ) {
mJVMs.remove( pChild );
- } else if( "Resource".equals( lType ) ) {
+ } else
+ if( "JNDI".equals( lType ) ||
+ "JMS".equals( lType ) ||
+ "URL".equals( lType ) ||
+ "JTA".equals( lType ) ||
+ "JavaMail".equals( lType ) ||
+ "JDBC".equals( lType ) ||
+ "RMI IIOP".equals( lType )
+ ) {
mResources.remove( pChild );
}
}
1.4 +118 -15 jboss/src/main/org/jboss/management/j2ee/JNDI.java
Index: JNDI.java
===================================================================
RCS file: /cvsroot/jboss/jboss/src/main/org/jboss/management/j2ee/JNDI.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- JNDI.java 2001/11/27 06:15:26 1.3
+++ JNDI.java 2001/11/28 06:33:37 1.4
@@ -7,14 +7,17 @@
package org.jboss.management.j2ee;
import javax.management.MalformedObjectNameException;
+import javax.management.MBeanServer;
import javax.management.ObjectName;
+import org.jboss.logging.Logger;
+
/**
* Root class of the JBoss JSR-77 implementation of
* {@link javax.management.j2ee.JNDI JNDI}.
*
* @author <a href="mailto:[EMAIL PROTECTED]">Andreas Schaefer</a>.
- * @version $Revision: 1.3 $
+ * @version $Revision: 1.4 $
*
* <p><b>Revisions:</b>
*
@@ -25,16 +28,79 @@
**/
public class JNDI
extends J2EEResource
- implements javax.management.j2ee.JNDI
+ implements JNDIMBean
{
- // -------------------------------------------------------------------------
- // Members
- // -------------------------------------------------------------------------
-
- // -------------------------------------------------------------------------
- // Constructors
- // -------------------------------------------------------------------------
-
+ // Constants -----------------------------------------------------
+
+ // Attributes ----------------------------------------------------
+
+ // Static --------------------------------------------------------
+
+ private static final String[] sTypes = new String[] {
+ "j2ee.object.created",
+ "j2ee.object.deleted",
+ "state.starting",
+ "state.running",
+ "state.stopping",
+ "state.stopped",
+ "state.failed"
+ };
+
+ public static ObjectName create( MBeanServer pServer, String pName ) {
+ Logger lLog = Logger.getLogger( JNDI.class );
+ ObjectName lServer = null;
+ try {
+ lServer = (ObjectName) pServer.queryNames(
+ new ObjectName( J2EEManagedObject.getDomainName() +
":type=J2EEServer,*" ),
+ null
+ ).iterator().next();
+ }
+ catch( Exception e ) {
+ lLog.error( "Could not create JSR-77 JNDI: " + pName, e );
+ return null;
+ }
+ try {
+ // Now create the J2EEApplication
+ return pServer.createMBean(
+ "org.jboss.management.j2ee.JNDI",
+ null,
+ new Object[] {
+ pName,
+ lServer
+ },
+ new String[] {
+ String.class.getName(),
+ ObjectName.class.getName()
+ }
+ ).getObjectName();
+ }
+ catch( Exception e ) {
+ lLog.error( "Could not create JSR-77 JNDI: " + pName, e );
+ return null;
+ }
+ }
+
+ public static void destroy( MBeanServer pServer, String pName ) {
+ Logger lLog = Logger.getLogger( JNDI.class );
+ try {
+ // Find the Object to be destroyed
+ ObjectName lSearch = new ObjectName(
+ J2EEManagedObject.getDomainName() + ":type=JNDI,name=" + pName + ",*"
+ );
+ ObjectName lJNDI = (ObjectName) pServer.queryNames(
+ lSearch,
+ null
+ ).iterator().next();
+ // Now remove the J2EEApplication
+ pServer.unregisterMBean( lJNDI );
+ }
+ catch( Exception e ) {
+ lLog.error( "Could not destroy JSR-77 JNDI: " + pName, e );
+ }
+ }
+
+ // Constructors --------------------------------------------------
+
/**
* @param pName Name of the JNDI
*
@@ -47,15 +113,52 @@
{
super( "JNDI", pName, pServer );
}
+
+ // javax.managment.j2ee.EventProvider implementation -------------
+
+ public String[] getTypes() {
+ return sTypes;
+ }
+
+ public String getType( int pIndex ) {
+ if( pIndex >= 0 && pIndex < sTypes.length ) {
+ return sTypes[ pIndex ];
+ } else {
+ return null;
+ }
+ }
+
+ // javax.management.j2ee.StateManageable implementation ----------
+
+ public long getStartTime() {
+ return 0;
+ }
+
+ public int getState() {
+ return 0;
+ }
+
+ public void start() {
+ }
- // -------------------------------------------------------------------------
- // Properties (Getters/Setters)
- // -------------------------------------------------------------------------
+ public void startRecursive() {
+ }
+ public void stop() {
+ }
+
+ // java.lang.Object overrides ------------------------------------
+
public String toString() {
- return "JNDI [ " +
-// AS Later on must be set on again
-// "name: " + getName() +
+ return "JNDI { " + super.toString() + " } [ " +
" ]";
}
+
+ // Package protected ---------------------------------------------
+
+ // Protected -----------------------------------------------------
+
+ // Private -------------------------------------------------------
+
+ // Inner classes -------------------------------------------------
}
1.1 jboss/src/main/org/jboss/management/j2ee/JNDIMBean.java
Index: JNDIMBean.java
===================================================================
/*
* JBoss, the OpenSource J2EE webOS
*
* Distributable under LGPL license.
* See terms of license at gnu.org.
*/
package org.jboss.management.j2ee;
import javax.management.j2ee.JNDI;
import javax.management.j2ee.StateManageable;
/**
* MBean Mangement Inteface for {@link org.jboss.management.j2ee.JNDI
* JNDI}.
*
* @author <a href="mailto:[EMAIL PROTECTED]">Andreas Schaefer</a>.
* @version $Revision: 1.1 $
*
* <p><b>Revisions:</b>
*
* <p><b>20011126 Andreas Schaefer:</b>
* <ul>
* <li> Creation
* </ul>
**/
public interface JNDIMBean
extends JNDI, StateManageable
{
}
_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development