User: schaefera
Date: 01/06/15 22:53:38
Modified: src/main/org/jboss/ejb Application.java
ContainerFactory.java
Log:
Added the support for classes with a single string as only argument for
the constructor to the ConfigurationService. Some fixes and additional
methods for the JBoss management.
Revision Changes Path
1.11 +2 -1 jboss/src/main/org/jboss/ejb/Application.java
Index: Application.java
===================================================================
RCS file: /cvsroot/jboss/jboss/src/main/org/jboss/ejb/Application.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- Application.java 2001/06/03 20:59:40 1.10
+++ Application.java 2001/06/16 05:53:38 1.11
@@ -10,6 +10,7 @@
import java.util.Iterator;
import java.util.Collection;
import java.util.HashMap;
+import java.util.Hashtable;
import javax.ejb.EJBLocalHome;
@@ -22,7 +23,7 @@
* @see Container
* @see ContainerFactory
* @author Rickard �berg ([EMAIL PROTECTED])
- * @version $Revision: 1.10 $
+ * @version $Revision: 1.11 $
*/
public class Application
implements Service
1.77 +49 -57 jboss/src/main/org/jboss/ejb/ContainerFactory.java
Index: ContainerFactory.java
===================================================================
RCS file: /cvsroot/jboss/jboss/src/main/org/jboss/ejb/ContainerFactory.java,v
retrieving revision 1.76
retrieving revision 1.77
diff -u -r1.76 -r1.77
--- ContainerFactory.java 2001/06/14 23:44:31 1.76
+++ ContainerFactory.java 2001/06/16 05:53:38 1.77
@@ -23,6 +23,7 @@
import java.util.Properties;
import java.util.Iterator;
import java.util.HashMap;
+import java.util.Hashtable;
import java.util.ArrayList;
import java.util.StringTokenizer;
import java.util.jar.JarFile;
@@ -56,8 +57,6 @@
import org.jboss.metadata.ConfigurationMetaData;
import org.jboss.metadata.XmlLoadable;
import org.jboss.metadata.XmlFileLoader;
-import org.jboss.mgt.EJB;
-import org.jboss.mgt.Module;
import org.jboss.security.EJBSecurityManager;
import org.jboss.security.RealmMapping;
import org.jboss.util.MBeanProxy;
@@ -82,7 +81,7 @@
* @author Peter Antman ([EMAIL PROTECTED])
* @author Scott Stark([EMAIL PROTECTED])
*
-* @version $Revision: 1.76 $
+* @version $Revision: 1.77 $
*/
public class ContainerFactory
extends org.jboss.util.ServiceMBeanSupport
@@ -369,6 +368,11 @@
app.init();
// Start application
app.start();
+ // Startup the Management MBean Wrapper for the containers
+ Iterator i = app.containers.values().iterator();
+ while( i.hasNext() ) {
+ handleContainerManagement( (Container) i.next(), true );
+ }
// Add to webserver so client can access classes through dynamic class
downloading
WebServiceMBean webServer = (WebServiceMBean) MBeanProxy.create(
WebServiceMBean.class, WebServiceMBean.OBJECT_NAME );
@@ -401,6 +405,20 @@
{
Log.unsetLog();
}
+ // Inform the Data Collector that new/old EJBs were deployed
+ try
+ {
+ getServer().invoke(
+ new ObjectName( "Management", "service", "Collector" ),
+ "refresh",
+ new Object[] {},
+ new String[] {}
+ );
+ }
+ catch( Exception e )
+ {
+ e.printStackTrace();
+ }
}
private void deploy( Application app, URL url, ClassLoader cl )
@@ -470,20 +488,6 @@
log.log( "Deploying " + bean.getEjbName() );
app.addContainer( createContainer( bean, cl, localCl ) );
}
- // Inform the Data Collector that new/old EJBs were deployed
- try
- {
- getServer().invoke(
- new ObjectName( "Management", "service", "Collector" ),
- "refresh",
- new Object[] {},
- new String[] {}
- );
- }
- catch( Exception e )
- {
- e.printStackTrace();
- }
}
/**
@@ -508,28 +512,13 @@
// Undeploy application
Log.setLog( log );
log.log( "Undeploying:" + url );
+ // Shutdown the Management MBean Wrapper for the containers
+ Iterator i = app.containers.values().iterator();
+ while( i.hasNext() ) {
+ handleContainerManagement( (Container) i.next(), false );
+ }
app.stop();
app.destroy();
- try
- {
- // Remove EJBs management data
- getServer().invoke(
- new ObjectName( "Management", "service", "Collector" ),
- "removeModule",
- new Object[] {
- url.toString(),
- new Integer( org.jboss.mgt.Application.EJBS )
- },
- new String[] {
- "".getClass().getName(),
- Integer.TYPE.getName()
- }
- );
- }
- catch( Exception e )
- {
- log.exception( e );
- }
try {
if ( app.getClassLoader() != null ) {
// Remove from webserver
@@ -615,9 +604,6 @@
container.setContainerInvoker( createContainerInvoker( conf, cl ) );
container.setInstancePool( createInstancePool( conf, cl ) );
- //AS Test the exposure of the Container through a MBean
- registerContainer( container );
-
return container;
}
@@ -635,9 +621,6 @@
container.setContainerInvoker( createContainerInvoker( conf, cl ) );
container.setInstancePool( createInstancePool( conf, cl ) );
- //AS Test the exposure of the Container through a MBean
- registerContainer( container );
-
return container;
}
@@ -659,9 +642,6 @@
// Set persistence manager
container.setPersistenceManager( (StatefulSessionPersistenceManager)
cl.loadClass( conf.getPersistenceManager() ).newInstance() );
- //AS Test the exposure of the Container through a MBean
- registerContainer( container );
-
return container;
}
@@ -696,8 +676,6 @@
// Set the manager on the container
container.setPersistenceManager( persistenceManager );
}
- //AS Test the exposure of the Container through a MBean
- registerContainer( container );
return container;
}
@@ -705,18 +683,32 @@
// **************
// Helper Methods
// **************
+
/**
- * Register the created container at the JMX server to make the container
- * available for outside management
+ * Either creates the Management MBean wrapper for a container and start
+ * it or it destroy it.
**/
- private void registerContainer( Container container ) {
+ private void handleContainerManagement( Container container, boolean doStart ) {
try {
// Create and register the ContainerMBean
- ObjectName name = new ObjectName( "Management", "container",
container.getBeanMetaData().getEjbName() );
- getServer().createMBean( "org.jboss.mgt.ContainerMgt", name );
- getServer().invoke( name, "init", new Object[] {}, new String[] {} );
- getServer().invoke( name, "start", new Object[] {}, new String[] {} );
- getServer().setAttribute( name, new javax.management.Attribute(
"Container", container ) );
+ ObjectName name = new ObjectName( "Management", "jnidName",
container.getBeanMetaData().getJndiName() );
+ if( doStart ) {
+ getServer().createMBean(
+ "org.jboss.management.ContainerManagement",
+ name,
+ new Object[] { container },
+ new String[] { "org.jboss.ejb.Container" }
+ );
+ getServer().invoke( name, "init", new Object[] {}, new String[] {} );
+ getServer().invoke( name, "start", new Object[] {}, new String[] {} );
+ }
+ else {
+ // If not startup then assume that the MBean is there
+ getServer().invoke( name, "stop", new Object[] {}, new String[] {} );
+ getServer().invoke( name, "destroy", new Object[] {}, new String[] {} );
+ // Unregister the MBean to avoid future name conflicts
+ getServer().unregisterMBean( name );
+ }
}
catch( Exception e )
{
@@ -955,4 +947,4 @@
* Thu Jun 14 23:28:58 2001 UTC, starksm
Added support for validation of the j2ee related deployment descriptors.
- */
\ No newline at end of file
+ */
_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-development