[jboss-cvs] JBossAS SVN: r81835 - in trunk: bootstrap/src/main/org/jboss/bootstrap and 4 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Sun Nov 30 16:11:30 EST 2008
Author: scott.stark at jboss.org
Date: 2008-11-30 16:11:30 -0500 (Sun, 30 Nov 2008)
New Revision: 81835
Modified:
trunk/bootstrap/.classpath
trunk/bootstrap/src/main/org/jboss/bootstrap/AbstractServerImpl.java
trunk/bootstrap/src/main/org/jboss/bootstrap/BaseServerConfig.java
trunk/bootstrap/src/main/org/jboss/bootstrap/microcontainer/ServerImpl.java
trunk/system/src/main/org/jboss/deployers/plugins/managed/KernelDeploymentManagedObjectCreator.java
trunk/system/src/main/org/jboss/system/server/profileservice/ProfileServiceBootstrap.java
trunk/testsuite/src/main/org/jboss/test/profileservice/test/ServerManagedObjectsTestCase.java
Log:
JBAS-5529, JBAS-5523, core server managed objects and state information
Modified: trunk/bootstrap/.classpath
===================================================================
--- trunk/bootstrap/.classpath 2008-11-30 19:41:48 UTC (rev 81834)
+++ trunk/bootstrap/.classpath 2008-11-30 21:11:30 UTC (rev 81835)
@@ -13,5 +13,7 @@
<classpathentry exported="true" kind="lib" path="/thirdparty/jboss/common-logging-spi/lib/jboss-logging-spi.jar"/>
<classpathentry exported="true" kind="lib" path="/thirdparty/oswego-concurrent/lib/concurrent.jar"/>
<classpathentry exported="true" kind="lib" path="/thirdparty/apache-xerces/lib/xercesImpl.jar"/>
+ <classpathentry kind="lib" path="/thirdparty/jboss/jboss-man/lib/jboss-managed.jar" sourcepath="/thirdparty/jboss/jboss-man/lib/jboss-managed-sources.jar"/>
+ <classpathentry kind="lib" path="/thirdparty/jboss/jboss-man/lib/jboss-metatype.jar" sourcepath="/thirdparty/jboss/jboss-man/lib/jboss-metatype-sources.jar"/>
<classpathentry kind="output" path="output/eclipse-classes"/>
</classpath>
Modified: trunk/bootstrap/src/main/org/jboss/bootstrap/AbstractServerImpl.java
===================================================================
--- trunk/bootstrap/src/main/org/jboss/bootstrap/AbstractServerImpl.java 2008-11-30 19:41:48 UTC (rev 81834)
+++ trunk/bootstrap/src/main/org/jboss/bootstrap/AbstractServerImpl.java 2008-11-30 21:11:30 UTC (rev 81835)
@@ -39,6 +39,7 @@
import org.jboss.bootstrap.spi.ServerConfig;
import org.jboss.bootstrap.spi.ServerProcess;
import org.jboss.logging.Logger;
+import org.jboss.managed.api.annotation.ManagementProperty;
import org.jboss.net.protocol.URLStreamHandlerFactory;
import org.jboss.util.StopWatch;
@@ -305,6 +306,7 @@
* @return Typed server configuration object.
* @throws IllegalStateException Not initialized.
*/
+ @ManagementProperty(managed=true)
public ServerConfig getConfig() throws IllegalStateException
{
if (config == null)
@@ -704,41 +706,49 @@
// Server Information //
///////////////////////////////////////////////////////////////////////////
+ @ManagementProperty(description="The server start time")
public Date getStartDate()
{
return startDate;
}
+ @ManagementProperty(description="The server version string")
public String getVersion()
{
return version.toString();
}
+ @ManagementProperty(description="The server version name")
public String getVersionName()
{
return version.getName();
}
+ @ManagementProperty(description="The server version number string")
public String getVersionNumber()
{
return version.getVersionNumber();
}
+ @ManagementProperty(description="The server build number")
public String getBuildNumber()
{
return version.getBuildNumber();
}
+ @ManagementProperty(description="The server build JVM")
public String getBuildJVM()
{
return version.getBuildJVM();
}
+ @ManagementProperty(description="The server build OS")
public String getBuildOS()
{
return version.getBuildOS();
}
+ @ManagementProperty(description="The server build ID")
public String getBuildID()
{
return version.getBuildID();
@@ -748,6 +758,7 @@
* The server build date
* @return server build date
*/
+ @ManagementProperty(description="The server build date")
public String getBuildDate()
{
return version.getBuildDate();
Modified: trunk/bootstrap/src/main/org/jboss/bootstrap/BaseServerConfig.java
===================================================================
--- trunk/bootstrap/src/main/org/jboss/bootstrap/BaseServerConfig.java 2008-11-30 19:41:48 UTC (rev 81834)
+++ trunk/bootstrap/src/main/org/jboss/bootstrap/BaseServerConfig.java 2008-11-30 21:11:30 UTC (rev 81835)
@@ -23,12 +23,25 @@
import java.io.File;
import java.io.IOException;
+import java.lang.reflect.Type;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.Properties;
import org.jboss.bootstrap.spi.Server;
import org.jboss.bootstrap.spi.ServerConfig;
+import org.jboss.managed.api.annotation.ManagementComponent;
+import org.jboss.managed.api.annotation.ManagementObject;
+import org.jboss.managed.api.annotation.ManagementProperties;
+import org.jboss.managed.api.annotation.ManagementProperty;
+import org.jboss.managed.api.annotation.ViewUse;
+import org.jboss.metatype.api.annotations.MetaMapping;
+import org.jboss.metatype.api.types.MetaType;
+import org.jboss.metatype.api.types.SimpleMetaType;
+import org.jboss.metatype.api.values.MetaValue;
+import org.jboss.metatype.api.values.SimpleValue;
+import org.jboss.metatype.api.values.SimpleValueSupport;
+import org.jboss.metatype.spi.values.MetaMapper;
import org.jboss.util.NestedRuntimeException;
import org.jboss.util.Null;
import org.jboss.util.Primitives;
@@ -50,6 +63,13 @@
* @author Scott.Stark at jboss.org
* @version <tt>$Revision: 41281 $</tt>
*/
+ at ManagementObject(
+ name="jboss.system:type=ServerConfig",
+ isRuntime=true,
+ properties=ManagementProperties.EXPLICIT,
+ description="provides a view of server config information",
+ componentType=@ManagementComponent(type="MCBean", subtype="*")
+ )
public class BaseServerConfig implements ServerConfig
{
/** The configuration properties to pull data from. */
@@ -137,6 +157,8 @@
// Typed Access //
/////////////////////////////////////////////////////////////////////////
+ @ManagementProperty(description="the bootstrap url",
+ use={ViewUse.STATISTIC})
public URL getBootstrapURL()
{
if (bootstrapURL == null)
@@ -156,16 +178,23 @@
return bootstrapURL;
}
+ @ManagementProperty(description="the local home directory which the server is running from",
+ use={ViewUse.STATISTIC})
+ @MetaMapping(FileMetaMapper.class)
public File getHomeDir()
{
return homeDir;
}
+ @ManagementProperty(description="home URL which the server is running from",
+ use={ViewUse.STATISTIC})
public URL getHomeURL()
{
return homeURL;
}
+ @ManagementProperty(description="the bootstrap library URL for the server.",
+ use={ViewUse.STATISTIC})
public URL getLibraryURL()
{
if (libraryURL == null)
@@ -215,6 +244,8 @@
return (URL) patchURL;
}
+ @ManagementProperty(description="the name of the active profile the sever is using",
+ use={ViewUse.STATISTIC})
public String getServerName()
{
if (serverName == null)
@@ -225,6 +256,9 @@
return serverName;
}
+ @ManagementProperty(description="the base directory for calculating server home directories",
+ use={ViewUse.STATISTIC})
+ @MetaMapping(FileMetaMapper.class)
public File getServerBaseDir()
{
if (serverBaseDir == null)
@@ -239,6 +273,9 @@
return serverBaseDir;
}
+ @ManagementProperty(description="the server home directory",
+ use={ViewUse.STATISTIC})
+ @MetaMapping(FileMetaMapper.class)
public File getServerHomeDir()
{
if (serverHomeDir == null)
@@ -254,13 +291,16 @@
}
/**
- * Get the directory where temporary files will be stored. The associated
+ * Get the directory where log files will be stored. The associated
* ServerConfig.SERVER_LOG_DIR system property needs to be set before
* the logging framework is used.
*
* @see ServerConfig#SERVER_LOG_DIR
- * @return the writable temp directory
+ * @return the writable log directory
*/
+ @ManagementProperty(description="the server log directory",
+ use={ViewUse.STATISTIC})
+ @MetaMapping(FileMetaMapper.class)
public File getServerLogDir()
{
if (serverLogDir == null)
@@ -280,7 +320,10 @@
*
* @return the writable temp directory
*/
- public File getServerTempDir()
+ @ManagementProperty(description="the directory where temporary files will be stored",
+ use={ViewUse.STATISTIC})
+ @MetaMapping(FileMetaMapper.class)
+ public File getServerTempDir()
{
if (serverTempDir == null)
{
@@ -299,6 +342,9 @@
*
* @return the data directory
*/
+ @ManagementProperty(description="the directory where local data will be stored",
+ use={ViewUse.STATISTIC})
+ @MetaMapping(FileMetaMapper.class)
public File getServerDataDir()
{
if (serverDataDir == null)
@@ -318,6 +364,9 @@
*
* @return the directory
*/
+ @ManagementProperty(description="the directory for platform native files",
+ use={ViewUse.STATISTIC})
+ @MetaMapping(FileMetaMapper.class)
public File getServerNativeDir()
{
String fileName = System.getProperty(NATIVE_DIR_PROPERTY);
@@ -331,11 +380,16 @@
*
* @return the directory
*/
+ @ManagementProperty(description="the temporary deployment dir",
+ use={ViewUse.STATISTIC})
+ @MetaMapping(FileMetaMapper.class)
public File getServerTempDeployDir()
{
return new File(getServerTempDir(), "deploy");
}
+ @ManagementProperty(description="the base URL for calculating server home URLs",
+ use={ViewUse.STATISTIC})
public URL getServerBaseURL()
{
if (serverBaseURL == null)
@@ -357,6 +411,8 @@
return serverBaseURL;
}
+ @ManagementProperty(description="the server home URL",
+ use={ViewUse.STATISTIC})
public URL getServerHomeURL()
{
if (serverHomeURL == null)
@@ -378,6 +434,8 @@
return serverHomeURL;
}
+ @ManagementProperty(description="the server home URL",
+ use={ViewUse.STATISTIC})
public URL getServerLibraryURL()
{
if (serverLibraryURL == null)
@@ -399,6 +457,8 @@
return serverLibraryURL;
}
+ @ManagementProperty(description="the common library URL base",
+ use={ViewUse.STATISTIC})
public URL getCommonBaseURL()
{
if (commonBaseURL == null)
@@ -420,6 +480,8 @@
return commonBaseURL;
}
+ @ManagementProperty(description="the URL for the common library jars",
+ use={ViewUse.STATISTIC})
public URL getCommonLibraryURL()
{
if (commonLibraryURL == null)
@@ -638,6 +700,8 @@
*
* @return The filename of the root deployable.
*/
+ @ManagementProperty(description="the filename of the root deployable that will be used to finalize the bootstrap process",
+ use={ViewUse.STATISTIC})
public String getRootDeploymentFilename()
{
if (rootDeployableFilename == null)
@@ -687,8 +751,44 @@
return null;
}
+ @ManagementProperty(description="the server Specification-Version",
+ use={ViewUse.STATISTIC})
public String getSpecificationVersion()
{
return serverSpecificationVersion;
}
+
+ /**
+ * TODO: move to managed project, JBMAN-49
+ */
+ public static class FileMetaMapper extends MetaMapper<File>
+ {
+ @Override
+ public MetaValue createMetaValue(MetaType metaType, File object)
+ {
+ return SimpleValueSupport.wrap(object.getAbsolutePath());
+ }
+ @Override
+ public MetaType getMetaType()
+ {
+ return SimpleMetaType.STRING;
+ }
+ @Override
+ public Type mapToType()
+ {
+ return File.class;
+ }
+
+ @Override
+ public File unwrapMetaValue(MetaValue metaValue)
+ {
+ SimpleValue svalue = (SimpleValue) metaValue;
+ File f = null;
+ if(svalue != null)
+ {
+ f = new File(svalue.getValue().toString());
+ }
+ return f;
+ }
+ }
}
Modified: trunk/bootstrap/src/main/org/jboss/bootstrap/microcontainer/ServerImpl.java
===================================================================
--- trunk/bootstrap/src/main/org/jboss/bootstrap/microcontainer/ServerImpl.java 2008-11-30 19:41:48 UTC (rev 81834)
+++ trunk/bootstrap/src/main/org/jboss/bootstrap/microcontainer/ServerImpl.java 2008-11-30 21:11:30 UTC (rev 81835)
@@ -42,6 +42,10 @@
import org.jboss.kernel.spi.deployment.KernelDeployment;
import org.jboss.kernel.spi.event.KernelEvent;
import org.jboss.kernel.spi.event.KernelEventManager;
+import org.jboss.managed.api.annotation.ManagementComponent;
+import org.jboss.managed.api.annotation.ManagementObject;
+import org.jboss.managed.api.annotation.ManagementProperties;
+import org.jboss.managed.api.annotation.ManagementProperty;
import org.jboss.util.StopWatch;
/**
@@ -50,6 +54,13 @@
* @author <a href="adrian at jboss.com">Adrian Brock</a>
* @version $Revision: 1.1 $
*/
+ at ManagementObject(
+ name="jboss.system:type=MCServer",
+ isRuntime=true,
+ properties=ManagementProperties.EXPLICIT,
+ description="the MCServer bootstrap view",
+ componentType=@ManagementComponent(type="MCBean", subtype="*")
+ )
public class ServerImpl extends AbstractServerImpl
implements MCServer
{
@@ -70,6 +81,7 @@
*
* @return the kernel
*/
+ @ManagementProperty(ignored=true)
public Kernel getKernel()
{
return kernel;
@@ -78,6 +90,7 @@
* Get the kernel deployments
* @return the kernel deployments
*/
+ @ManagementProperty(ignored=true)
public Map<String, KernelDeployment> getDeployments()
{
Map<String, KernelDeployment> deployments = null;
Modified: trunk/system/src/main/org/jboss/deployers/plugins/managed/KernelDeploymentManagedObjectCreator.java
===================================================================
--- trunk/system/src/main/org/jboss/deployers/plugins/managed/KernelDeploymentManagedObjectCreator.java 2008-11-30 19:41:48 UTC (rev 81834)
+++ trunk/system/src/main/org/jboss/deployers/plugins/managed/KernelDeploymentManagedObjectCreator.java 2008-11-30 21:11:30 UTC (rev 81835)
@@ -144,11 +144,6 @@
ManagedPropertyImpl beansMP = new ManagedPropertyImpl(bmdfMO, fields);
newProps.put("beans", beansMP);
- // Add a state property
- Fields stateFields = getFields("state", ControllerStateMetaType.TYPE);
- ManagedPropertyImpl stateMP = new ManagedPropertyImpl(bmdfMO, stateFields);
- newProps.put("state", stateMP);
-
// Create a ManagedObject for each of the beans BeanMetaData
List<BeanMetaData> beans = bmdf.getBeans();
if(beans != null)
@@ -203,6 +198,13 @@
{
MutableManagedObject mmo = (MutableManagedObject) mo;
mmo.setParent(parentMO);
+ Map<String, ManagedProperty> oldProps = mmo.getProperties();
+ Map<String, ManagedProperty> newProps = new HashMap<String, ManagedProperty>(oldProps);
+ // Add a state property
+ Fields stateFields = getFields("state", ControllerStateMetaType.TYPE);
+ ManagedPropertyImpl stateMP = new ManagedPropertyImpl(mmo, stateFields);
+ newProps.put("state", stateMP);
+ mmo.setProperties(newProps);
}
return new GenericValueSupport(AbstractManagedObjectFactory.MANAGED_OBJECT_META_TYPE, mo);
}
@@ -219,6 +221,7 @@
fields.setMetaType(type);
fields.setName(name);
fields.setMandatory(false);
+ fields.setDescription("The bean controller state");
return fields;
}
Modified: trunk/system/src/main/org/jboss/system/server/profileservice/ProfileServiceBootstrap.java
===================================================================
--- trunk/system/src/main/org/jboss/system/server/profileservice/ProfileServiceBootstrap.java 2008-11-30 19:41:48 UTC (rev 81834)
+++ trunk/system/src/main/org/jboss/system/server/profileservice/ProfileServiceBootstrap.java 2008-11-30 21:11:30 UTC (rev 81835)
@@ -33,7 +33,10 @@
import org.jboss.beans.metadata.spi.BeanMetaData;
import org.jboss.bootstrap.spi.Bootstrap;
import org.jboss.bootstrap.spi.Server;
+import org.jboss.bootstrap.spi.ServerConfig;
import org.jboss.bootstrap.spi.microcontainer.MCServer;
+import org.jboss.dependency.spi.ControllerContext;
+import org.jboss.dependency.spi.ControllerState;
import org.jboss.deployers.client.spi.IncompleteDeploymentException;
import org.jboss.deployers.client.spi.main.MainDeployer;
import org.jboss.deployers.plugins.main.MainDeployerImpl;
@@ -44,25 +47,33 @@
import org.jboss.deployers.structure.spi.DeploymentUnit;
import org.jboss.deployers.vfs.deployer.kernel.KernelDeploymentDeployer.KernelDeploymentVisitor;
import org.jboss.deployers.vfs.spi.client.VFSDeployment;
+import org.jboss.kernel.Kernel;
+import org.jboss.kernel.spi.dependency.KernelController;
import org.jboss.kernel.spi.deployment.KernelDeployment;
import org.jboss.logging.Logger;
import org.jboss.managed.api.ComponentType;
+import org.jboss.managed.api.Fields;
import org.jboss.managed.api.ManagedDeployment;
import org.jboss.managed.api.ManagedObject;
import org.jboss.managed.api.ManagedProperty;
import org.jboss.managed.api.MutableManagedObject;
import org.jboss.managed.api.ManagedDeployment.DeploymentPhase;
import org.jboss.managed.api.annotation.ManagementComponent;
+import org.jboss.managed.api.annotation.ViewUse;
import org.jboss.managed.api.factory.ManagedObjectFactory;
import org.jboss.managed.plugins.DefaultFieldsImpl;
import org.jboss.managed.plugins.ManagedComponentImpl;
import org.jboss.managed.plugins.ManagedPropertyImpl;
import org.jboss.metatype.api.types.ArrayMetaType;
+import org.jboss.metatype.api.types.MetaType;
import org.jboss.metatype.api.types.SimpleMetaType;
import org.jboss.metatype.api.values.ArrayValueSupport;
+import org.jboss.metatype.api.values.EnumValue;
+import org.jboss.metatype.api.values.EnumValueSupport;
import org.jboss.profileservice.spi.Profile;
import org.jboss.profileservice.spi.ProfileKey;
import org.jboss.profileservice.spi.ProfileService;
+import org.jboss.profileservice.spi.types.ControllerStateMetaType;
/**
* Bootstraps the profile service
@@ -78,7 +89,7 @@
/** The name of the profile that is being booted */
protected String profileName = "default";
-
+
/** The server MainDeployer */
protected MainDeployer mainDeployer;
@@ -428,7 +439,9 @@
if(server instanceof MCServer)
{
MCServer mcserver = MCServer.class.cast(server);
+ Kernel kernel = mcserver.getKernel();
serverDeployments = mcserver.getDeployments();
+ ManagedDeployment firstDeployment = null;
for(KernelDeployment kd : serverDeployments.values())
{
ManagedObject kdMO = mof.initManagedObject(kd, null);
@@ -445,6 +458,8 @@
continue;
}
ManagedDeployment md = mgtDeploymentCreator.build(deploymentUnit, kdMOs, null);
+ if(firstDeployment == null)
+ firstDeployment = md;
for(DeploymentUnit compUnit : deploymentUnit.getComponents())
{
BeanMetaData bmd = compUnit.getAttachment(BeanMetaData.class);
@@ -463,22 +478,28 @@
{
Map<String, ManagedProperty> oldProps = mmo.getProperties();
Map<String, ManagedProperty> newProps = new HashMap<String, ManagedProperty>(oldProps);
- DefaultFieldsImpl fields = new DefaultFieldsImpl();
- fields.setName("alias");
+ ArrayMetaType aliasType = new ArrayMetaType(SimpleMetaType.STRING, false);
+ DefaultFieldsImpl fields = getFields("alias", aliasType);
fields.setDescription("Aliases of the bean");
- fields.setMandatory(false);
- ArrayMetaType type = new ArrayMetaType(SimpleMetaType.STRING, false);
- fields.setMetaType(type);
String[] aliases = new String[bmdAliases.size()];
- Iterator i = bmdAliases.iterator();
+ Iterator<?> i = bmdAliases.iterator();
for(int n = 0; i.hasNext(); n++)
{
aliases[n] = i.next().toString();
}
- ArrayValueSupport value = new ArrayValueSupport(type, aliases);
+ ArrayValueSupport value = new ArrayValueSupport(aliasType, aliases);
fields.setValue(value);
ManagedPropertyImpl aliasesMP = new ManagedPropertyImpl(bmdMO, fields);
newProps.put("alias", aliasesMP);
+ // Add a state property
+ DefaultFieldsImpl stateFields = getFields("state", ControllerStateMetaType.TYPE);
+ stateFields.setViewUse(new ViewUse[]{ViewUse.STATISTIC});
+ EnumValue stateValue = getState(bmd.getName(), kernel);
+ stateFields.setValue(stateValue);
+ stateFields.setDescription("The bean controller state");
+ ManagedPropertyImpl stateMP = new ManagedPropertyImpl(mmo, stateFields);
+ newProps.put("state", stateMP);
+ // Update the properties
mmo.setProperties(newProps);
}
}
@@ -498,6 +519,54 @@
if(md != null)
bootstrapMDs.put(kd.getName(), md);
}
+
+ // Add other Server managed objects
+ if(firstDeployment != null)
+ {
+ ComponentType type = KnownComponentTypes.MCBean.Any.getType();
+ // MCServer
+ ManagedObject serverMO = mof.initManagedObject(mcserver, null);
+ ManagedComponentImpl serverComp = new ManagedComponentImpl(type, firstDeployment, serverMO);
+ firstDeployment.addComponent("MCServer", serverComp);
+ // ServerConfig
+ ServerConfig config = mcserver.getConfig();
+ ManagedObject mo = mof.initManagedObject(config, null);
+ ManagedComponentImpl configComp = new ManagedComponentImpl(type, firstDeployment, mo);
+ firstDeployment.addComponent("ServerConfig", configComp);
+ log.debug("Created ManagedComponent of type: "+type+" for ServerConfig");
+ }
}
}
+
+ /**
+ * Create a DefaultFieldsImpl for the given property name and type
+ * @param name - the property name
+ * @param type - the property type
+ * @return return the fields implementation
+ */
+ protected DefaultFieldsImpl getFields(String name, MetaType type)
+ {
+ DefaultFieldsImpl fields = new DefaultFieldsImpl();
+ fields.setMetaType(type);
+ fields.setName(name);
+ fields.setMandatory(false);
+
+ return fields;
+ }
+ /**
+ * Get the state of a bean
+ *
+ * @param name the bean name
+ * @return state enum value
+ */
+ protected EnumValue getState(Object name, Kernel kernel)
+ {
+ KernelController controller = kernel.getController();
+ ControllerContext context = controller.getContext(name, null);
+ if (context == null)
+ throw new IllegalStateException("Context not installed: " + name);
+
+ ControllerState state = context.getState();
+ return new EnumValueSupport(ControllerStateMetaType.TYPE, state.getStateString());
+ }
}
Modified: trunk/testsuite/src/main/org/jboss/test/profileservice/test/ServerManagedObjectsTestCase.java
===================================================================
--- trunk/testsuite/src/main/org/jboss/test/profileservice/test/ServerManagedObjectsTestCase.java 2008-11-30 19:41:48 UTC (rev 81834)
+++ trunk/testsuite/src/main/org/jboss/test/profileservice/test/ServerManagedObjectsTestCase.java 2008-11-30 21:11:30 UTC (rev 81835)
@@ -31,6 +31,9 @@
import org.jboss.managed.api.ComponentType;
import org.jboss.managed.api.ManagedComponent;
import org.jboss.managed.api.ManagedProperty;
+import org.jboss.metatype.api.types.EnumMetaType;
+import org.jboss.metatype.api.values.EnumValue;
+import org.jboss.metatype.api.values.EnumValueSupport;
import org.jboss.metatype.api.values.SimpleValue;
import org.jboss.profileservice.management.matchers.AliasMatcher;
import org.jboss.profileservice.spi.ProfileKey;
@@ -39,8 +42,10 @@
import org.jboss.virtual.VFS;
/**
+ * Tests of key server bean managed object views
+ *
* @author Scott.Stark at jboss.org
- * @version $Revision:$
+ * @version $Revision$
*/
public class ServerManagedObjectsTestCase
extends JBossTestCase
@@ -71,21 +76,50 @@
Map<String, ManagedProperty> props = mc.getProperties();
getLog().info(props.keySet());
// , activeThreadGroupCount, hostAddress, OSVersion, javaVMName, totalMemory, activeThreadCount, alias, hostName, javaVMVendor, javaVendor, javaVMVersion, OSName, javaVersion
+ // maxMemory
ManagedProperty maxMemory = props.get("maxMemory");
long maxMemoryValue = getLong(maxMemory);
assertTrue("maxMemory > 1MB", maxMemoryValue > 1024*1024);
+ // freeMemory
ManagedProperty freeMemory = props.get("freeMemory");
long freeMemoryValue = getLong(freeMemory);
assertTrue("freeMemory > 1MB", freeMemoryValue > 1024*1024);
+ // availableProcessors
ManagedProperty availableProcessors = props.get("availableProcessors");
long availableProcessorsValue = getLong(availableProcessors);
assertTrue("availableProcessors > 0", availableProcessorsValue > 0);
-
+ // The bean state
ManagedProperty state = props.get("state");
- getLog().info(state);
-
+ assertNotNull("state", state);
+ EnumMetaType stateType = (EnumMetaType) state.getMetaType();
+ EnumValue stateValue = (EnumValue) state.getValue();
+ getLog().info("state: "+stateValue);
+ EnumValue installed = new EnumValueSupport(stateType, "Installed");
+ assertEquals(installed, stateValue);
}
+ public void testMCServer()
+ throws Exception
+ {
+ ManagementView mgtView = getManagementView();
+ ComponentType type = KnownComponentTypes.MCBean.Any.getType();
+ ManagedComponent mc = mgtView.getComponent("jboss.system:type=MCServer", type);
+ assertNotNull(mc);
+ Map<String, ManagedProperty> props = mc.getProperties();
+ getLog().info(props);
+ }
+
+ public void testServerConfig()
+ throws Exception
+ {
+ ManagementView mgtView = getManagementView();
+ ComponentType type = KnownComponentTypes.MCBean.Any.getType();
+ ManagedComponent mc = mgtView.getComponent("jboss.system:type=ServerConfig", type);
+ assertNotNull(mc);
+ Map<String, ManagedProperty> props = mc.getProperties();
+ getLog().info(props);
+ }
+
/**
* Obtain the ProfileService.ManagementView
* @return
@@ -114,5 +148,4 @@
Number value = (Number) mv.getValue();
return value.longValue();
}
-
}
Property changes on: trunk/testsuite/src/main/org/jboss/test/profileservice/test/ServerManagedObjectsTestCase.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
More information about the jboss-cvs-commits
mailing list