You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by cd...@apache.org on 2017/04/16 22:32:31 UTC

[40/72] [abbrv] [partial] flex-blazeds git commit: - Major code scrub

http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/8315f8fa/core/src/flex/management/BaseControl.java
----------------------------------------------------------------------
diff --git a/core/src/flex/management/BaseControl.java b/core/src/flex/management/BaseControl.java
deleted file mode 100644
index a66a104..0000000
--- a/core/src/flex/management/BaseControl.java
+++ /dev/null
@@ -1,514 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package flex.management;
-
-import flex.management.runtime.AdminConsoleDisplayRegistrar;
-import flex.messaging.FlexContext;
-
-import java.util.Date;
-import java.util.List;
-import java.util.ArrayList;
-import javax.management.InstanceAlreadyExistsException;
-import javax.management.InstanceNotFoundException;
-import javax.management.MalformedObjectNameException;
-import javax.management.MBeanRegistration;
-import javax.management.MBeanRegistrationException;
-import javax.management.MBeanServer;
-import javax.management.NotCompliantMBeanException;
-import javax.management.ObjectName;
-import javax.servlet.ServletConfig;
-
-/**
- * The implementation of the <code>BaseControlMBean</code> interface. This
- * abstract class provides the core functionality that all Flex control MBeans
- * require.
- * <p>
- * Defining concrete implementations of <code>getId()</code> and
- * <code>getType()</code> are left to subclasses, but this base class does
- * provide access to the parent MBean for each instance. This class also
- * implements the <code>MBeanRegistration</code> interface, and it
- * automatically stores a reference to the MBean server in each instance upon
- * registration. Subclasses may choose to override none, any, or all of the
- * methods defined by the <code>MBeanRegistration</code> interface, but any
- * overrides should be sure to invoke the overridden method with a call to their
- * superclass.
- * </p><p>
- * The <code>register()</code> method provides a simple and consistent way to
- * register instances with the MBean server, and the
- * <code>getObjectName()</code> method gaurantees consistent, well-formed
- * <code>ObjectName</code>s for all MBean instances.</p>
- */
-public abstract class BaseControl implements BaseControlMBean,
-        MBeanRegistration
-{
-    /**
-     * The prefix used for the domain part of control MBean names.
-     */
-    public static final String DOMAIN_PREFIX = "flex.runtime";
-    private static final int MALFORMED_OBJECTNAME = 10400;
-    private static final int UNREG_EXCEPTION = 10401;
-    private static final int UNREG_NOTFOUND = 10402;
-    private static final int REG_EXCEPTION = 10403;
-    private static final int REG_ALREADYEXISTS = 10404;
-    private static final int REG_NOTCOMPLIANT = 10405;
-    private static final int DISABLE_MANAGEMENT = 10426;    
-
-    protected Date startTimestamp;
-    private BaseControl parent;
-    private ObjectName objectName;
-    private ObjectName registeredObjectName;
-    private MBeanServer server;
-    private boolean registered = false;
-
-    private AdminConsoleDisplayRegistrar registrar;
-
-    // Implements flex.management.BaseControlMBean.getId; inherits javadoc
-    // specification.
-    public abstract String getId();
-
-    // Implements flex.management.BaseControlMBean.getType; inherits javadoc
-    // specification.
-    public abstract String getType();
-
-    // Implements flex.management.BaseControlMBean.getParent; inherits javadoc
-    // specification.
-    public final ObjectName getParent()
-    {
-        return (parent != null) ? parent.getObjectName() : null;
-    }
-
-    /**
-     * Returns an identifier for the application that hosts the component that
-     * this control manages.
-     *
-     * @return An identifier for the application that hosts the component this
-     *         control manages.
-     */
-    public String getApplicationId()
-    {
-        String id = null;
-        // Our base implementation attempts to use the current servlet context
-        // name as our application identifier.
-        ServletConfig config = FlexContext.getServletConfig();
-        if (config != null)
-        {
-            id = config.getServletContext().getServletContextName();
-        }
-        return (id != null) ? id.replace(":", "") : "";
-    }
-
-    /**
-     * Set the register object. 
-     * @param registrar the registrar to set
-     */
-    protected void setRegistrar(AdminConsoleDisplayRegistrar registrar)
-    {
-        this.registrar = registrar;
-    }
-
-    /**
-     * Return the registar object.
-     * @return the registrar
-     */
-    public AdminConsoleDisplayRegistrar getRegistrar()
-    {
-        if ((parent == null) && (this.registrar == null))
-        {
-            return new AdminConsoleDisplayRegistrar(null);
-        }
-
-        return (this.registrar != null) ? this.registrar : parent.getRegistrar();
-    }
-
-    /**
-     * Constructs a <code>BaseControl</code> instance that references its
-     * parent; the parent may be null for root control MBeans.
-     *
-     * @param parent The parent <code>BaseControl</code> for this instance or
-     *        null if this instance is the root of a control hierarchy.
-     */
-    public BaseControl(BaseControl parent)
-    {
-        this.parent = parent;
-    }
-
-    /**
-     * Returns the parent <code>BaseControl</code> of this instance.
-     *
-     * @return The parent <code>BaseControl</code>.
-     */
-    public final BaseControl getParentControl()
-    {
-        return parent;
-    }
-
-    /**
-     * The <code>MBeanServer</code> that this instance is registered with. If
-     * this instance has not been registered this method returns
-     * <code>null</code>.
-     *
-     * @return The <code>MBeanServer</code> that this instance is registered
-     *         with.
-     */
-    public final MBeanServer getMBeanServer()
-    {
-        return server;
-    }
-
-    /**
-     * Registers this instance with the MBean server.
-     *
-     * It may throw ManagementException If an <code>MBeanRegistrationException</code>
-     *         or <code>InstanceAlreadyExistsException</code> is thrown while
-     *         registering this MBean, the typed exception is wrapped in a
-     *         runtime <code>ManagementException</code> and rethrown.
-     */
-    public final void register()
-    {
-        if (!registered)
-        {
-            MBeanServer server = MBeanServerLocatorFactory.getMBeanServerLocator().getMBeanServer();
-            ObjectName name = getObjectName();
-            try
-            {
-                if (server.isRegistered(name))
-                {
-                    server.unregisterMBean(name);
-                }
-
-                registeredObjectName = server.registerMBean(this, name).getObjectName();
-                registered = true;
-                onRegistrationComplete();
-
-            }
-            catch (ManagementException me)
-            {
-                throw me;
-            }
-            catch (MBeanRegistrationException mre)
-            {
-                // Rethrow with useful message if this ever happens.
-                ManagementException me = new ManagementException();
-                me.setMessage(REG_EXCEPTION, new Object[] {name.toString()});
-                me.setRootCause(mre);
-                throw me;
-            }
-            catch (InstanceAlreadyExistsException iaee)
-            {
-                // If registration is not working at all, inform the user that
-                // they may
-                // work around the issue by disabling management (no MBeans will
-                // be registered).
-                if (!server.isRegistered(name))
-                {
-                    ManagementException me = new ManagementException();
-                    me.setMessage(DISABLE_MANAGEMENT, new Object[] {name.toString()});
-                    throw me;
-                }
-                else
-                {
-                    // Rethrow with useful message if this ever happens.
-                    ManagementException me = new ManagementException();
-                    me.setMessage(REG_ALREADYEXISTS, new Object[] {name.toString()});
-                    throw me;
-                }
-            }
-            catch (NotCompliantMBeanException ncme)
-            {
-                // Rethrow with useful message if this ever happens.
-                ManagementException me = new ManagementException();
-                me.setMessage(REG_NOTCOMPLIANT, new Object[] {name.toString()});
-                throw me;
-            }
-            catch (InstanceNotFoundException infe)
-            {
-                // Rethrow with useful message if this ever happens.
-                ManagementException me = new ManagementException();
-                me.setMessage(UNREG_NOTFOUND, new Object[] {name.toString()});
-                throw me;
-            }
-        }
-    }
-
-    /**
-     * This method is called after the MBean has been registered and after the
-     * MBean server has returned the registeredObjectName. Classes that need
-     * access to the actual Object name should override this method rather than
-     * the postRegister method.
-     */
-    protected void onRegistrationComplete()
-    {
-
-    }
-
-    /**
-     * Unregisters this instance from the MBean server if it has been registered
-     * previously.
-     */
-    public final void unregister()
-    {
-        if (registered)
-        {
-            // This method may be called when the JVM is being unloaded, so if
-            // our
-            // external error strings are loaded as missing, fall back to
-            // hard-coded
-            // strings.
-            try
-            {
-                if (server.isRegistered(registeredObjectName))
-                {
-                    server.unregisterMBean(registeredObjectName);
-                }
-
-                registeredObjectName = null;
-                registered = false;
-            }
-            catch (ManagementException me)
-            {
-                throw me;
-            }
-            catch (MBeanRegistrationException mre)
-            {
-                // Rethrow with useful message if this ever happens.
-                ManagementException me = new ManagementException();
-                me.setMessage(UNREG_EXCEPTION, new Object[] {registeredObjectName.toString()});
-                if (me.getMessage().indexOf(Integer.toString(UNREG_EXCEPTION)) != -1)
-                {
-                    me.setMessage("The MBean named, '" + registeredObjectName.toString() + "', could not be unregistered because its preDeregister() method threw an exception.");
-                }
-                me.setRootCause(mre);
-                throw me;
-            }
-            catch (InstanceNotFoundException infe)
-            {
-                // Rethrow with useful message if this ever happens.
-                ManagementException me = new ManagementException();
-                me.setMessage(UNREG_NOTFOUND, new Object[] {registeredObjectName.toString()});
-                if (me.getMessage().indexOf(Integer.toString(UNREG_NOTFOUND)) != -1)
-                {
-                    me.setMessage("The MBean named, '" + registeredObjectName.toString() + "', could not be unregistered because it is not currently registered.");
-                }
-                throw me;
-            }
-        }
-    }
-
-    /**
-     * Returns the <code>ObjectName</code> for this instance, according to the
-     * following format:
-     * <code>{domain}[&amp;#46;{appId}]:type={type}[&amp;#44;{parent type}={parent id}]*[&amp;#44;server={server}]&amp;#63;&amp;#44;id={id}</code>.
-     * <ul>
-     * <li><code>domain</code>: The domain specified by the DOMAIN_PREFIX
-     * constant followed by the application identifier if one is available.</li>
-     * <li><code>type</code>: The short type name of the resource managed by
-     * the MBean.
-     * - The <code>MessageBrokerControlMBean</code> manages
-     * the <code>flex.messaging.MessageBroker</code> so:
-     * <code>type=MessageBroker</code> </li>
-     * <li><code>id</code>: The id value for the resource managed by this
-     * MBean. If no name or id is available on the resource, an id will be
-     * fabricated according to this strategy:
-     *
-     * <em>id = {type} + N</em> (where N is a numeric increment for instances
-     * of this type) </li>
-     * <li>* optional containment keys</li>
-     * </ul>
-     * The runtime MBean model is hierarchical, with all MBeans ultimately
-     * contained by the root <code>MessageBrokerControlMBean</code>. The 
-     * <code>ObjectName</code>s used for these MBeans describe this
-     * containment in the following fashion. First, the 'type' key for a
-     * contained MBean indicates the containment hierarchy for the bean. So, the
-     * <code>ObjectName</code> for an <code>RTMPEndpointControlMBean</code>
-     * would be: <code>type=MessageBroker.RTMPEndpoint</code>
-     *
-     * In addition to the hierarchical 'type' key, the full
-     * <code>ObjectName</code> for this <code>RTMPEndpointControlMBean</code>
-     * also contains a containment key:
-     * <code>MessageBroker=MessageBroker1</code>
-     *
-     * Optional containment keys have the format:
-     * <em>{parent type}={parent name}</em>. A containment key is added for
-     * each ancestor up to the root of the hierarchy and these keys allow the
-     * <code>ObjectName</code> for any MBean instance to fully describe its
-     * specific location in the hierarchy. To complete the example, the full
-     * <code>ObjectName</code> for the example
-     * <code>RTMPEndpointControlMBean</code> would be:
-     * <code>flex:type=MessageBroker.RTMPEndpoint,MessageBroker=MessageBroker1,id=RTMPEndpoint1</code>
-     * <p>
-     * If the MBean is registered with the MBean server, this method returns the
-     * <code>ObjectName</code> that the MBean was registered under and this
-     * value may contain additional key-value pairs injected by the container or
-     * MBean server.
-     * </p>
-     *
-     * @return The <code>ObjectName</code> for this instance.
-     */
-    public final ObjectName getObjectName()
-    {
-        if (registered)
-            return registeredObjectName;
-
-        if (objectName == null)
-        {
-            StringBuffer buffer = new StringBuffer();
-            buffer.append(DOMAIN_PREFIX);
-            String appId = getApplicationId();
-            if (appId != null && appId.length() > 0)
-            {
-                buffer.append('.');
-                buffer.append(appId);
-            }
-            buffer.append(":type=");
-            // Build hierarchical type value.
-            List types = new ArrayList();
-            List ids = new ArrayList();
-            types.add(getType());
-            ids.add(getId());
-            BaseControl ancestor = parent;
-            while (ancestor != null)
-            {
-                types.add(ancestor.getType());
-                ids.add(ancestor.getId());
-                ancestor = ancestor.getParentControl();
-            }
-            for (int i = types.size() - 1; i >= 0; --i)
-            {
-                buffer.append((String)types.get(i));
-                if (i > 0)
-                {
-                    buffer.append('.');
-                }
-            }
-            buffer.append(',');
-            // Add containment keys.
-            for (int i = ids.size() - 1; i >= 1; --i)
-            {
-                buffer.append((String)types.get(i));
-                buffer.append('=');
-                buffer.append((String)ids.get(i));
-                buffer.append(',');
-            }
-            buffer.append("id=");
-            buffer.append(getId());
-            String name = buffer.toString();
-            // TODO: Seth: add server identifier key if we're running in a
-            // cluster?
-            try
-            {
-                objectName = new ObjectName(name);
-            }
-            catch (MalformedObjectNameException mone)
-            {
-                // Rethrow with useful message if this ever happens.
-                ManagementException me = new ManagementException();
-                me.setMessage(MALFORMED_OBJECTNAME, new Object[] {name});
-                throw me;
-            }
-        }
-        return objectName;
-    }
-
-    /**
-     * Implements <code>javax.management.MBeanRegistration.preRegister</code>.
-     * Allows the MBean to perform any operations it needs before being
-     * registered in the MBean server. This base implementation stores a
-     * reference to the MBean server that may be accessed via
-     * <code>getMBeanServer()</code>. If subclasses override, they must call
-     * <code>super.preRegister()</code>.
-     *
-     * @param server The Mbean server in which the MBean will be registered.
-     * @param name The object name of the MBean.
-     * @return The name the MBean will be registered under.
-     * @throws Exception when the process failed
-     */
-    public ObjectName preRegister(MBeanServer server, ObjectName name)
-            throws Exception
-    {
-        this.server = server;
-        return (name == null) ? getObjectName() : name;
-    }
-
-    /**
-     * Implements <code>javax.management.MBeanRegistration.postRegister</code>.
-     * Allows the MBean to perform any operations needed after having been
-     * registered in the MBean server or after the registration has failed. This
-     * base implementation is a no-op that may be overridden.
-     *
-     * @param registrationDone Indicates whether or not the MBean was
-     *        successfully registered in the MBean server.
-     */
-    public void postRegister(Boolean registrationDone)
-    {
-        // No-op.
-    }
-
-    /**
-     * Implements <code>javax.management.MBeanRegistration.preDeregister</code>.
-     * Allows the MBean to perform any operations needed after having been
-     * unregistered in the MBean server. This base implementation is a no-op
-     * that may be overridden.
-     * @throws Exception when the process failed
-     */
-    public void preDeregister() throws Exception
-    {
-        // No-op.
-    }
-
-    /**
-     * Implements <code>javax.management.MBeanRegistration.postDeregister</code>.
-     * Allows the MBean to perform any operations it needs before being
-     * unregistered by the MBean server. This base implementation is a no-op
-     * that may be overridden.
-     */
-    public void postDeregister()
-    {
-        // No-op.
-    }
-
-    /**
-     * Sets the start timestamp for the managed component.
-     *
-     * @param value The start timestamp for the managed component.
-     */
-    public void setStartTimestamp(Date value)
-    {
-        startTimestamp = value;
-    }
-
-    /**
-     * Returns the difference between a start and end timestamps in
-     *          minutes. Differences of less than one minute are rounded up to
-     *          one minute to avoid frequency calculations reporting infinite
-     *          message frequencies.
-     * @param startTime The start timestamp in milliseconds.
-     * @param endTime The end timestamp in milliseconds.
-     * @return The difference between a start and end timestamps in minutes.
-     */
-    protected double differenceInMinutes(long startTime, long endTime)
-    {
-        double minutes = (endTime - startTime) / 60000d;
-        if (minutes > 1d)
-        {
-            return minutes;
-        }
-        else
-        {
-            return 1d;
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/8315f8fa/core/src/flex/management/BaseControlMBean.java
----------------------------------------------------------------------
diff --git a/core/src/flex/management/BaseControlMBean.java b/core/src/flex/management/BaseControlMBean.java
deleted file mode 100644
index d1c4246..0000000
--- a/core/src/flex/management/BaseControlMBean.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package flex.management;
-
-import java.io.IOException;
-import javax.management.ObjectName;
-
-/**
- * The base MBean interface for management beans that control aspects of
- * Flex behavior on the server.
- */
-public interface BaseControlMBean
-{
-    /**
-     * Returns the id for this MBean. This is the value that is set for the
-     * <code>id</code> key in the <code>ObjectName</code> for this MBean.
-     *
-     * @return The MBean instance id.
-     * @throws IOException Throws IOException.
-     */
-    String getId() throws IOException;
-
-    /**
-     * Returns the type for this MBean. This is the value that is set for the
-     * <code>type</code> key in the <code>ObjectName</code> for this MBean.
-     *
-     * @return The MBean instance type.
-     * @throws IOException Throws IOException.
-     */
-    String getType() throws IOException;
-
-    /**
-     * Returns the parent for this MBean. The value is the <code>ObjectName</code>
-     * for the parent MBean that conceptually contains this MBean instance. If no
-     * parent exists, this method returns <code>null</code>.
-     *
-     * @return The <code>ObjectName</code> for the parent of this MBean instance.
-     * @throws IOException Throws IOException.
-     */
-    ObjectName getParent() throws IOException;
-}

http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/8315f8fa/core/src/flex/management/MBeanLifecycleManager.java
----------------------------------------------------------------------
diff --git a/core/src/flex/management/MBeanLifecycleManager.java b/core/src/flex/management/MBeanLifecycleManager.java
deleted file mode 100644
index 60f1f10..0000000
--- a/core/src/flex/management/MBeanLifecycleManager.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package flex.management;
-
-import flex.messaging.MessageBroker;
-
-import java.util.Iterator;
-import java.util.Set;
-
-import javax.management.MBeanServer;
-import javax.management.ObjectName;
-
-/**
- * Helper class for managing MBean lifecycles externally from the core server
- * components where necessary.
- */
-public class MBeanLifecycleManager
-{
-    /**
-     * Unregisters all runtime MBeans that are registered in the same domain as the 
-     * MessageBrokerControl for the target MessageBroker. 
-     *  
-     * @param broker The MessageBroker component that has been stopped.
-     */
-    public static void unregisterRuntimeMBeans(MessageBroker broker)
-    {        
-        MBeanServer server = MBeanServerLocatorFactory.getMBeanServerLocator().getMBeanServer();
-        ObjectName brokerMBean = broker.getControl().getObjectName();
-        String domain = brokerMBean.getDomain();
-        try
-        {
-            ObjectName pattern = new ObjectName(domain + ":*");
-            Set names = server.queryNames(pattern, null);
-            Iterator iter = names.iterator();
-            while (iter.hasNext())
-            {
-                ObjectName on = (ObjectName)iter.next();
-                server.unregisterMBean(on);
-            }
-        }
-        catch (Exception e)
-        {
-            // We're generally unregistering these during shutdown (possibly JVM shutdown)
-            // so there's nothing to really do here because we aren't guaranteed access to
-            // resources like system log files, localized messaging, etc.
-        }
-    }
-    
-}

http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/8315f8fa/core/src/flex/management/MBeanServerLocator.java
----------------------------------------------------------------------
diff --git a/core/src/flex/management/MBeanServerLocator.java b/core/src/flex/management/MBeanServerLocator.java
deleted file mode 100644
index 2a08e29..0000000
--- a/core/src/flex/management/MBeanServerLocator.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package flex.management;
-
-import javax.management.MBeanServer;
-
-/**
- * Interface for classes that locate MBeanServers to register MBeans with.
- */
-public interface MBeanServerLocator
-{
-    /**
-     * Returns the MBeanServer to register our management MBeans with.
-     * 
-     * @return The MBeanServer to register our management MBeans with.
-     */
-    MBeanServer getMBeanServer();
-    
-}

http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/8315f8fa/core/src/flex/management/MBeanServerLocatorFactory.java
----------------------------------------------------------------------
diff --git a/core/src/flex/management/MBeanServerLocatorFactory.java b/core/src/flex/management/MBeanServerLocatorFactory.java
deleted file mode 100644
index 29eb1b3..0000000
--- a/core/src/flex/management/MBeanServerLocatorFactory.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package flex.management;
-
-import flex.messaging.log.Log;
-import flex.messaging.log.LogCategories;
-import flex.messaging.util.ClassUtil;
-
-/**
- * Factory to get a <code>MBeanServerLocator</code>.
- */
-public class MBeanServerLocatorFactory
-{
-    //--------------------------------------------------------------------------
-    //
-    // Private Static Variables
-    //
-    //--------------------------------------------------------------------------
-    
-    /**
-     * The MBeanServerLocator impl to use; lazily init'ed on first access.
-     */
-    private static MBeanServerLocator locator;
-
-    //--------------------------------------------------------------------------
-    //
-    // Public Static Methods
-    //
-    //--------------------------------------------------------------------------
-    
-    /**
-     * Returns a <code>MBeanServerLocator</code> that exposes the <code>MBeanServer</code> to register MBeans with.
-     * 
-     * @return The <code>MBeanServerLocator</code> that exposes the <code>MBeanServer</code> to register MBeans with.
-     */
-    public static synchronized MBeanServerLocator getMBeanServerLocator()
-    {
-        if (locator == null)
-        {
-            // Try app-server specific locators.
-            // WebSphere provides access to its MBeanServer via a custom admin API.
-            instantiateLocator("flex.management.WebSphereMBeanServerLocator", new String[] {"com.ibm.websphere.management.AdminServiceFactory"});
-
-            // Sun JRE 1.5 based implementation
-            if (locator == null)
-                locator =  new PlatformMBeanServerLocator();
-            
-            if (Log.isDebug())
-                Log.getLogger(LogCategories.MANAGEMENT_GENERAL).debug("Using MBeanServerLocator: " + locator.getClass().getName());
-        }
-        return locator;
-    }
-    
-    /**
-     * Release static MBeanServerLocator
-     * Called on MessageBroker shutdown.
-     */
-    public static void clear()
-    {
-        locator = null;
-    }
-    
-    //--------------------------------------------------------------------------
-    //
-    // Private Static Methods
-    //
-    //--------------------------------------------------------------------------
-    
-    /**
-     * Helper method that attempts to load a specific MBeanServerLocator.
-     * 
-     * @param locatorClassName The classname of the desired MBeanServerLocator.
-     * @param dependencyClassNames Any additional dependent classnames that the desired locator depends upon
-     *                            that should also be tested for availability.
-     */
-    private static void instantiateLocator(String locatorClassName, String[] dependencyClassNames)
-    {
-        try
-        {
-            if (dependencyClassNames != null)
-            {
-                for (int i = 0; i < dependencyClassNames.length; i++)
-                    ClassUtil.createClass(dependencyClassNames[i]);
-            }
-            
-            Class locatorClass = ClassUtil.createClass(locatorClassName);
-            locator = (MBeanServerLocator)locatorClass.newInstance();
-        }
-        catch (Throwable t)
-        {
-            if (Log.isDebug())
-                Log.getLogger(LogCategories.MANAGEMENT_MBEANSERVER).debug("Not using MBeanServerLocator: " + locatorClassName + ". Reason: " + t.getMessage());
-        }
-    }
-    
-    //--------------------------------------------------------------------------
-    //
-    // Constructor
-    //
-    //--------------------------------------------------------------------------
-    
-    /**
-     * Direct instantiation is not allowed.
-     * Use <code>getMBeanServerLocator()</code> to obtain a <code>MBeanServerLocator</code> 
-     * instance to lookup the proper MBean server to use.
-     */
-    private MBeanServerLocatorFactory() {}
-    
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/8315f8fa/core/src/flex/management/Manageable.java
----------------------------------------------------------------------
diff --git a/core/src/flex/management/Manageable.java b/core/src/flex/management/Manageable.java
deleted file mode 100644
index be7eb4a..0000000
--- a/core/src/flex/management/Manageable.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package flex.management;
-
-/**
- * Manageability of a class is enabled by implementing this interface. The
- * specific level of manageability is defined by the relationship between
- * a manageable component and its corresponding control.
- */
-public interface Manageable
-{
-    /**
-     * Returns <code>true</code> if the component is enabled for management.
-     * 
-     * @return <code>true</code> if the component is enabled for management.
-     */
-    boolean isManaged();
-    
-    /**
-     * Enables or disables management for the component.
-     * 
-     * @param enableManagement <code>true</code> to enable management, <code>false</code> to disable management.
-     */
-    void setManaged(boolean enableManagement);
-    
-    /**
-     * Returns the control MBean used to manage the component.
-     * 
-     * @return The control MBean used to manage the component.
-     */
-    BaseControl getControl();
-    
-    /**
-     * Set the control MBean used to manage the component.
-     * 
-     * @param control The <code>BaseControl</code> MBean used to manage the component.
-     */
-    void setControl(BaseControl control);
-}

http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/8315f8fa/core/src/flex/management/ManageableComponent.java
----------------------------------------------------------------------
diff --git a/core/src/flex/management/ManageableComponent.java b/core/src/flex/management/ManageableComponent.java
deleted file mode 100644
index 02cccfc..0000000
--- a/core/src/flex/management/ManageableComponent.java
+++ /dev/null
@@ -1,421 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package flex.management;
-
-import java.util.Date;
-
-import flex.messaging.FlexComponent;
-import flex.messaging.config.ConfigMap;
-import flex.messaging.config.ConfigurationException;
-import flex.messaging.log.Log;
-
-/**
- * An abstract base class that implements the <code>Manageable</code> and <code>FlexComponent</code> interfaces.
- * This is an excellent starting point for a server component that may be instantiated, initialized, started and
- * stopped, as well as exposing an optional management interface via a peer MBean.
- * <p>Support for changing component properties while the component is
- * started should be determined on a per-property basis, and the started property is volatile to ensure consistent
- * reads of the start state of the component across threads. This class performs no synchronization and is not safe for modification by multiple concurrent threads
- * in the absence of external synchronization.
- * </p>
- */
-public abstract class ManageableComponent implements Manageable, FlexComponent
-{
-    //--------------------------------------------------------------------------
-    //
-    // Protected Static Constants
-    //
-    //--------------------------------------------------------------------------
-
-    /**
-     * Error code for attempting to change a property after starting.
-     */
-    protected static final int PROPERTY_CHANGE_AFTER_STARTUP = 11115;
-
-    /**
-     * Error code to alert the user that a required component property is null.
-     */
-    protected static final int NULL_COMPONENT_PROPERTY = 11116;
-
-    //--------------------------------------------------------------------------
-    //
-    // Constructor
-    //
-    //--------------------------------------------------------------------------
-
-    /**
-     * Constructs a <code>ManageableComponent</code> instance, specifying
-     * whether to enable management.
-     * Enabling management will trigger the creation of a peer MBean that exposes the
-     * management interface for this component.
-     *
-     * @param enableManagement <code>true</code> to enable management, <code>false</code> to disable
-     * management.
-     */
-    public ManageableComponent(boolean enableManagement)
-    {
-        setManaged(enableManagement);
-    }
-
-    //--------------------------------------------------------------------------
-    //
-    // Public Properties
-    //
-    //--------------------------------------------------------------------------
-
-    //----------------------------------
-    //  control
-    //----------------------------------
-
-    /**
-     * The peer MBean of the <code>ManageableComponent</code> that exposes a management interface.
-     */
-    protected BaseControl control;
-
-    /**
-     * (non-JavaDoc)
-     * @see Manageable#getControl()
-     */
-    public BaseControl getControl()
-    {
-        return control;
-    }
-
-    /**
-     * (non-JavaDoc)
-     * @see Manageable#setControl(BaseControl)
-     */
-    public void setControl(BaseControl control)
-    {
-        this.control = control;
-    }
-
-    //----------------------------------
-    //  id
-    //----------------------------------
-
-    /**
-     * The internal id value of the <code>ManageableComponent</code>.
-     */
-    protected String id;
-
-    /**
-     * Returns the id of the <code>ManageableComponent</code>.
-     *
-     * @return The id of the <code>ManageableComponent</code>.
-     */
-    public String getId()
-    {
-        return id;
-    }
-
-    /**
-     * Sets the id of the <code>ManageableComponent</code>. The id cannot be
-     * null and it cannot be changed after startup.
-     *
-     * @param id The id of the <code>ManageableComponent</code>.
-     */
-    public void setId(String id)
-    {
-        if (isStarted())
-        {
-            blockAssignmentWhileStarted("id");
-        }
-        if (id == null)
-        {
-            // Id of a component cannot be null.
-            blockNullAssignment("id");
-        }
-        this.id = id;
-    }
-
-    //----------------------------------
-    //  managed
-    //----------------------------------
-
-    /**
-     * The internal managed flag of the <code>ManageableComponent</code>.
-     */
-    protected volatile boolean managed;
-
-    /**
-     * (non-JavaDoc)
-     * @see Manageable#isManaged()
-     */
-    public boolean isManaged()
-    {
-        return managed;
-    }
-
-    /**
-     * Enables or disables management for the component. Management cannot be
-     * changed once the component is started and management cannot be
-     * <code>true</code> if the parent of the component is not managed.
-     *
-     * @param enableManagement <code>true</code> to enable management, <code>false</code> to disable management.
-     */
-    public void setManaged(boolean enableManagement)
-    {
-        if (isStarted() && control != null)
-        {
-            blockAssignmentWhileStarted("managed");
-        }
-        if (enableManagement && parent != null && !parent.isManaged())
-        {
-            if (Log.isWarn())
-            {
-                Log.getLogger(getLogCategory()).warn("Component: '" + id + "' cannot be managed" +
-                " since its parent is unmanaged.");
-            }
-            return;
-        }
-        managed = enableManagement;
-    }
-
-    //----------------------------------
-    //  parent
-    //----------------------------------
-
-    /**
-     * The internal reference to the parent component (if any) of the <code>ManageableComponent</code>.
-     */
-    protected Manageable parent;
-
-    /**
-     * Returns the parent of the component.
-     *
-     * @return The parent of the component.
-     */
-    public Manageable getParent()
-    {
-        return parent;
-    }
-
-    /**
-     * Sets the parent of the component. The parent cannot be changed
-     * after component startup and it cannot be null.
-     *
-     * @param parent The parent of the component.
-     */
-    public void setParent(Manageable parent)
-    {
-        if (isStarted())
-        {
-            blockAssignmentWhileStarted("parent");
-        }
-        if (parent == null)
-        {
-            // Parent of a component cannot be null.
-            blockNullAssignment("parent");
-        }
-        if (!parent.isManaged() && isManaged())
-        {
-            if (Log.isWarn())
-            {
-                Log.getLogger(getLogCategory()).warn("Component: '" + id + "' cannot be managed" +
-                        " since its parent is unmanaged.");
-            }
-            setManaged(false);
-        }
-        this.parent = parent;
-    }
-
-    //----------------------------------
-    //  started
-    //----------------------------------
-
-    /**
-     * The internal started flag of the <code>ManageableComponent</code>.
-     */
-    protected volatile boolean started;
-
-    /**
-     * Returns if the component is started or not.
-     *
-     * @return <code>true</code> if the component is started.
-     */
-    public boolean isStarted()
-    {
-        return started;
-    }
-
-    /**
-     * Sets if the component is started.
-     *
-     * @param started true if the component is started.
-     */
-    protected void setStarted(boolean started)
-    {
-        if (this.started != started)
-        {
-            this.started = started;
-            if (started && control != null)
-            {
-                control.setStartTimestamp(new Date());
-            }
-        }
-    }
-
-    //----------------------------------
-    //  valid
-    //----------------------------------
-
-    /**
-     * The internal valid flag of the <code>ManageableComponent</code>.
-     */
-    protected boolean valid;
-
-    /**
-     * Returns if the component is valid.
-     *
-     * @return <code>true</code> if the component is valid.
-     */
-    public boolean isValid()
-    {
-        return valid;
-    }
-
-    /**
-     * Sets if the component is valid.
-     *
-     * @param valid true if the comoponent is valid.
-     */
-    protected void setValid(boolean valid)
-    {
-        this.valid = valid;
-    }
-
-    //----------------------------------
-    //  logCategory
-    //----------------------------------
-
-    /**
-     * Returns the log category of the component. Subclasses must provide an
-     * implementation that returns their desired log category.
-     *
-     * @return The log category of the component.
-     */
-    protected abstract String getLogCategory();
-
-    //--------------------------------------------------------------------------
-    //
-    // Public Methods
-    //
-    //--------------------------------------------------------------------------
-
-    /**
-     * Invoked to initialize the <code>ManageableComponent</code>.
-     * This base implementation calls <code>setId()</code> passing the provided
-     * id and ignores the properties map argument.
-     * Subclasses should call <code>super.initialize()</code>.
-     *
-     * @param id Id of the <code>ManageableComponent</code>.
-     * @param properties Properties for the <code>ManageableComponent</code>.
-     */
-    public void initialize(String id, ConfigMap properties)
-    {
-        setId(id);
-    }
-
-    /**
-     * Validates and starts the component.
-     *
-     * Subclasses should call <code>super.start()</code>.
-     */
-    public void start()
-    {
-        validate();
-        setStarted(true);
-    }
-
-    /**
-     * Invalidates and stops the component.
-     *
-     * Subclasses should call <code>super.stop()</code>.
-     */
-    public void stop()
-    {
-        invalidate();
-        setStarted(false);
-    }
-
-    //--------------------------------------------------------------------------
-    //
-    // Protocted Methods
-    //
-    //--------------------------------------------------------------------------
-
-    /**
-     * Convenience method that may be used to generate and throw an Exception for an attempt to set the specified property if the
-     * component is started.
-     *
-     * @param propertyName The name of the property being incorrectly assigned; included in the Exception message.
-     */
-    protected void blockAssignmentWhileStarted(String propertyName)
-    {
-        ConfigurationException ce = new ConfigurationException();
-        ce.setMessage(PROPERTY_CHANGE_AFTER_STARTUP, new Object[]{propertyName});
-        throw ce;
-    }
-
-    /**
-     * Convenience method that may be used to generate and throw an Exception for an attempt to assign a null value to a property that
-     * requires non-null values.
-     *
-     * @param propertyName The name of the property being incorrectly assigned.
-     */
-    protected void blockNullAssignment(String propertyName)
-    {
-        ConfigurationException ce = new ConfigurationException();
-        ce.setMessage(NULL_COMPONENT_PROPERTY, new Object[]{propertyName});
-        throw ce;
-    }
-
-    /**
-     * Invoked from within the <code>stop()</code> method to invalidate the component as part of shutdown.
-     * This base implementation sets the valid property to false.
-     * Subclasses should call <code>super.invalidate()</code>.
-     */
-    protected void invalidate()
-    {
-        setValid(false);
-    }
-
-    /**
-     * Hook method invoked from within the <code>start()</code> method to validate that the component is in a
-     * startable state.
-     * This base implementation validates the component by ensuring it has an id and a parent and then sets
-     * the valid property to true.
-     * If the component is not in a valid, startable state an Exception is thrown.
-     * Subclasses should call <code>super.validate()</code>.
-     */
-    protected void validate()
-    {
-        if (getId() == null)
-        {
-            // Id of a component cannot be null.
-            blockNullAssignment("id");
-        }
-        if (getParent() == null)
-        {
-            // Parent of a component cannot be null.
-            blockNullAssignment("parent");
-        }
-        setValid(true);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/8315f8fa/core/src/flex/management/ManagementException.java
----------------------------------------------------------------------
diff --git a/core/src/flex/management/ManagementException.java b/core/src/flex/management/ManagementException.java
deleted file mode 100644
index 593b7f2..0000000
--- a/core/src/flex/management/ManagementException.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package flex.management;
-
-import flex.messaging.MessageException;
-
-/**
- * This exception type is thrown when errors occur generating 
- * <code>ObjectName</code>s for MBeans, or when registering them or
- * accessing them via the MBean server.
- */
-public class ManagementException extends MessageException
-{
-    // Inherits all functionality from MessageException.
-    static final long serialVersionUID = 1296149563830613956L;
-}

http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/8315f8fa/core/src/flex/management/PlatformMBeanServerLocator.java
----------------------------------------------------------------------
diff --git a/core/src/flex/management/PlatformMBeanServerLocator.java b/core/src/flex/management/PlatformMBeanServerLocator.java
deleted file mode 100644
index c00fe42..0000000
--- a/core/src/flex/management/PlatformMBeanServerLocator.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package flex.management;
-
-import java.lang.management.ManagementFactory;
-import javax.management.MBeanServer;
-
-import flex.messaging.log.Log;
-import flex.messaging.log.LogCategories;
-
-/**
- * The platform implementation of an MBeanServerLocator for Java 1.5+.
- * This locator exposes the platform MBeanServer.
- */
-public class PlatformMBeanServerLocator implements MBeanServerLocator
-{
-    /** {@inheritDoc} */
-    public synchronized MBeanServer getMBeanServer()
-    {
-        return ManagementFactory.getPlatformMBeanServer();
-    }
-
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/8315f8fa/core/src/flex/management/jmx/Attribute.java
----------------------------------------------------------------------
diff --git a/core/src/flex/management/jmx/Attribute.java b/core/src/flex/management/jmx/Attribute.java
deleted file mode 100644
index 54fe08b..0000000
--- a/core/src/flex/management/jmx/Attribute.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package flex.management.jmx;
-
-/**
- * Remotable <code>Attribute</code> class that complies with Flash serialization requirements.
- */
-public class Attribute
-{
-    /**
-     * The name of the attribute.
-     */
-    public String name;
-    
-    /**
-     * The value of the attribute.
-     */
-    public Object value;
-    
-    /**
-     * Constructs an empty <code>Attribute</code> instance.
-     *
-     */
-    public Attribute()
-    {}
-    
-    /**
-     * Constructs an <code>Attribute</code> instance based upon a <code>javax.management.Attribute</code> instance.
-     * 
-     * @param attribute The JMX <code>Attribute</code> to base this instance on.
-     */
-    public Attribute(javax.management.Attribute attribute)
-    {
-        name = attribute.getName();
-        value = attribute.getValue();
-    }
-    
-    /**
-     * Utility method to convert this <code>Attribute</code> instance to a <code>javax.management.Attribute</code> instance.
-     * 
-     * @return A JMX <code>Attribute</code> based upon this instance.
-     */
-    public javax.management.Attribute toAttribute()
-    {
-        return new javax.management.Attribute(name, value);
-    }
-}

http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/8315f8fa/core/src/flex/management/jmx/MBeanAttributeInfo.java
----------------------------------------------------------------------
diff --git a/core/src/flex/management/jmx/MBeanAttributeInfo.java b/core/src/flex/management/jmx/MBeanAttributeInfo.java
deleted file mode 100644
index d9c6ba4..0000000
--- a/core/src/flex/management/jmx/MBeanAttributeInfo.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package flex.management.jmx;
-
-/**
- * Remotable <code>MBeanAttributeInfo</code> class that complies with Flash serialization requirements. 
- * The <code>isIs</code> property is not named <code>is</code> because <code>is</code> is 
- * an ActionScript keyword.
- */
-public class MBeanAttributeInfo
-{
-    /**
-     * The name of the attribute.
-     */
-    public String name;
-    
-    /**
-     * The class name of the attribute.
-     */
-    public String type;
-    
-    /**
-     * The description of the attribute.
-     */
-    public String description;
-
-    /**
-     * Whether the attribute can be read.
-     */
-    public boolean readable;
-    
-    /**
-     * Whether the attribute can be written.
-     */
-    public boolean writable; 
-    
-    /**
-     * Whether the attribute has an "is" getter.
-     */
-    public boolean isIs;
-    
-    /**
-     * Constructs an empty <code>MBeanAttributeInfo</code> instance.
-     */
-    public MBeanAttributeInfo()
-    {}
-    
-    /**
-     * Constructs a <code>MBeanAttributeInfo</code> instance based upon a
-     * <code>javax.management.MBeanAttributeInfo</code> instance.
-     * 
-     * @param mbeanAttributeInfo The JMX <code>MBeanAttributeInfo</code> instance to base this instance on.
-     */
-    public MBeanAttributeInfo(javax.management.MBeanAttributeInfo mbeanAttributeInfo)
-    {
-        name = mbeanAttributeInfo.getName();
-        type = mbeanAttributeInfo.getType();
-        description = mbeanAttributeInfo.getDescription();
-        readable = mbeanAttributeInfo.isReadable();
-        writable = mbeanAttributeInfo.isWritable();
-        isIs = mbeanAttributeInfo.isIs();
-    }
-    
-    /**
-     * Utility method to convert this <code>MBeanAttributeInfo</code> to a
-     * <code>javax.management.MBeanAttributeInfo</code> instance.
-     * 
-     * @return A JMX <code>MBeanAttributeInfo</code> based upon this instance.
-     */
-    public javax.management.MBeanAttributeInfo toMBeanAttributeInfo()
-    {
-        return new javax.management.MBeanAttributeInfo(name,
-                                                       type,
-                                                       description,
-                                                       readable,
-                                                       writable,
-                                                       isIs);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/8315f8fa/core/src/flex/management/jmx/MBeanConstructorInfo.java
----------------------------------------------------------------------
diff --git a/core/src/flex/management/jmx/MBeanConstructorInfo.java b/core/src/flex/management/jmx/MBeanConstructorInfo.java
deleted file mode 100644
index 95a2474..0000000
--- a/core/src/flex/management/jmx/MBeanConstructorInfo.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package flex.management.jmx;
-
-/**
- * Remotable <code>MBeanConstructorInfo</code> class that complies with Flash serialization requirements.
- */
-public class MBeanConstructorInfo
-{
-    /**
-     * The name of the constructor.
-     */
-    public String name;
-    
-    /**
-     * The description of the constructor.
-     */
-    public String description;
-    
-    /**
-     * The constructor's parameter signature.
-     */
-    public MBeanParameterInfo[] signature;
-    
-    /**
-     * Constructs an empty <code>MBeanConstructorInfo</code> instance.
-     *
-     */
-    public MBeanConstructorInfo()
-    {}
-    
-    /**
-     * Constructs a <code>MBeanConstructorInfo</code> instance based upon a
-     * <code>javax.management.MBeanConstructorInfo</code> instance.
-     * 
-     * @param mbeanConstructorInfo The <code>javax.management.MBeanConstructorInfo</code> to base this instance on.
-     */
-    public MBeanConstructorInfo(javax.management.MBeanConstructorInfo mbeanConstructorInfo)
-    {
-        name = mbeanConstructorInfo.getName();
-        description = mbeanConstructorInfo.getDescription();
-        signature = convertSignature(mbeanConstructorInfo.getSignature());
-    }
-    
-    /**
-     * Utility method to convert this <code>MBeanConstructorInfo</code> instance to a
-     * <code>javax.management.MBeanConstructorInfo</code> instance.
-     * 
-     * @return A JMX <code>MBeanConstructorInfo</code> based upon this instance.
-     */
-    public javax.management.MBeanConstructorInfo toMBeanConstructorInfo()
-    {
-        return new javax.management.MBeanConstructorInfo(name,
-                                                         description,
-                                                         convertSignature(signature));
-    }    
-    
-    /**
-     * Utility method to convert the JMX constructor signature to our Flash friendly param type.
-     * 
-     * @param source The JMX constructor signature params.
-     * @return Flash friendly signature params.
-     */
-    private MBeanParameterInfo[] convertSignature(javax.management.MBeanParameterInfo[] source)
-    {
-        MBeanParameterInfo[] signature = new MBeanParameterInfo[source.length];
-        for (int i = 0; i < source.length; i++)
-        {
-            signature[i] = new MBeanParameterInfo(source[i]);
-        }
-        return signature;
-    }
-    
-    /**
-     * Utility method to convert a Flash friendly construtor param signature to the JMX params.
-     * 
-     * @param source The Flash friendly signature params.
-     * @return The JMX constructor signature params.
-     */
-    private javax.management.MBeanParameterInfo[] convertSignature(MBeanParameterInfo[] source)
-    {
-        javax.management.MBeanParameterInfo[] signature = new javax.management.MBeanParameterInfo[source.length];
-        for (int i = 0; i < source.length; i++)
-        {
-            signature[i] = source[i].toMBeanParameterInfo();
-        }
-        return signature;
-    }   
-
-}

http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/8315f8fa/core/src/flex/management/jmx/MBeanInfo.java
----------------------------------------------------------------------
diff --git a/core/src/flex/management/jmx/MBeanInfo.java b/core/src/flex/management/jmx/MBeanInfo.java
deleted file mode 100644
index d44e507..0000000
--- a/core/src/flex/management/jmx/MBeanInfo.java
+++ /dev/null
@@ -1,184 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package flex.management.jmx;
-
-/**
- * Remotable MBeanInfo class that complies with Flash serialization requirements. 
- * MBean Notifications are not currently supported.
- */
-public class MBeanInfo
-{
-    /**
-     * The Java class name for the MBean object.
-     */
-    public String className;
-    
-    /**
-     * The description of the MBean.
-     */
-    public String description;
-    
-    /**
-     * The attributes exposed for management.
-     */
-    public MBeanAttributeInfo[] attributes;
-    
-    /**
-     * The public constructors for the MBean.
-     */
-    public MBeanConstructorInfo[] constructors;
-    
-    /**
-     * The operations exposed by the MBean.
-     */
-    public MBeanOperationInfo[] operations;
-        
-    /**
-     * Constructs an empty <code>MBeanInfo</code> instance.
-     */
-    public MBeanInfo()
-    {}
-    
-    /**
-     * Constructs a <code>MBeanInfo</code> instance based upon a
-     * <code>javax.management.MBeanInfo</code> instance.
-     * 
-     * @param mbeanInfo The JMX <code>MBeanInfo</code> instance to base this instance on.
-     */
-    public MBeanInfo(javax.management.MBeanInfo mbeanInfo)
-    {
-        className = mbeanInfo.getClassName();
-        description = mbeanInfo.getDescription();
-        attributes = convertAttributes(mbeanInfo.getAttributes());
-        constructors = convertConstructors(mbeanInfo.getConstructors());
-        operations = convertOperations(mbeanInfo.getOperations());
-    }
-    
-    /**
-     * Utility method to convert this <code>MBeanInfo</code> to a
-     * <code>javax.management.MBeanInfo</code> instance.
-     * 
-     * @return A JMX <code>MBeanInfo</code> based upon this instance.
-     */
-    public javax.management.MBeanInfo toMBeanInfo()
-    {
-        return new javax.management.MBeanInfo(className,
-                                              description,
-                                              convertAttributes(attributes),
-                                              convertConstructors(constructors),
-                                              convertOperations(operations),
-                                              null);
-    }      
-    
-    /**
-     * Utility method to convert JMX attribute info instances to Flash friendly instances.
-     * 
-     * @param source JMX attribute info instances.
-     * @return Flash friendly attribute info instances.
-     */
-    private MBeanAttributeInfo[] convertAttributes(javax.management.MBeanAttributeInfo[] source)
-    {
-        MBeanAttributeInfo[] attributes = new MBeanAttributeInfo[source.length];
-        for (int i = 0; i < source.length; i++)
-        {
-            attributes[i] = new MBeanAttributeInfo(source[i]);
-        }
-        return attributes;
-    }    
-    
-    /**
-     * Utility method to convert Flash friendly attribute info instances to JMX attribute info instances.
-     * 
-     * @param source Flash friendly attribute info instances.
-     * @return JMX attribute info instances.
-     */
-    private javax.management.MBeanAttributeInfo[] convertAttributes(MBeanAttributeInfo[] source)
-    {
-        javax.management.MBeanAttributeInfo[] attributes = new javax.management.MBeanAttributeInfo[source.length];
-        for (int i = 0; i < source.length; i++)
-        {
-            attributes[i] = source[i].toMBeanAttributeInfo();
-        }
-        return attributes;
-    }
-    
-    /**
-     * Utility method to convert JMX constructor info instances to Flash friendly constructor info
-     * instances.
-     * 
-     * @param source JMX constructor info instances.
-     * @return Flash friendly constructor info instances.
-     */
-    private MBeanConstructorInfo[] convertConstructors(javax.management.MBeanConstructorInfo[] source)
-    {
-        MBeanConstructorInfo[] constructors = new MBeanConstructorInfo[source.length];
-        for (int i = 0; i < source.length; i++)
-        {
-            constructors[i] = new MBeanConstructorInfo(source[i]);            
-        }
-        return constructors;
-    }
-    
-    /**
-     * Utility method to convert Flash friendly constructor info instances to JMX constructor info instances.
-     * 
-     * @param source Flash friendly constructor info instances.
-     * @return JMX constructor info instances.
-     */
-    private javax.management.MBeanConstructorInfo[] convertConstructors(MBeanConstructorInfo[] source)
-    {
-        javax.management.MBeanConstructorInfo[] constructors = new javax.management.MBeanConstructorInfo[source.length];
-        for (int i = 0; i < source.length; i++)
-        {
-            constructors[i] = source[i].toMBeanConstructorInfo();
-        }
-        return constructors;
-    }
-    
-    /**
-     * Utility method to convert JMX operation info instances to Flash friendly operation info instances.
-     * 
-     * @param source JMX opereration info instances.
-     * @return Flash friendly operation info instances.
-     */
-    private MBeanOperationInfo[] convertOperations(javax.management.MBeanOperationInfo[] source)
-    {
-        MBeanOperationInfo[] operations = new MBeanOperationInfo[source.length];
-        for (int i = 0; i < source.length; i++)
-        {
-            operations[i] = new MBeanOperationInfo(source[i]);
-        }
-        return operations;
-    }
-    
-    /**
-     * Utility method to convert Flash friendly operation info instances to JMX operation info instances.
-     * 
-     * @param source Flash friendly operation info instances. 
-     * @return JMX operation info instances.
-     */
-    private javax.management.MBeanOperationInfo[] convertOperations(MBeanOperationInfo[] source)
-    {
-        javax.management.MBeanOperationInfo[] operations = new javax.management.MBeanOperationInfo[source.length];
-        for (int i = 0; i < source.length; i++)
-        {
-            operations[i] = source[i].toMBeanOperationInfo();
-        }
-        return operations;
-    }
-    
-}

http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/8315f8fa/core/src/flex/management/jmx/MBeanOperationInfo.java
----------------------------------------------------------------------
diff --git a/core/src/flex/management/jmx/MBeanOperationInfo.java b/core/src/flex/management/jmx/MBeanOperationInfo.java
deleted file mode 100644
index c6c6c45..0000000
--- a/core/src/flex/management/jmx/MBeanOperationInfo.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package flex.management.jmx;
-
-/**
- * Remotable MBeanOperationInfo class that complies with Flash serialization requirements.
- */
-public class MBeanOperationInfo
-{
-    /**
-     * The operation name.
-     */
-    public String name;
-    
-    /**
-     * The operation description.
-     */
-    public String description;
-    
-    /**
-     * The operation's argument signature.
-     */
-    public MBeanParameterInfo[] signature;
-    
-    /**
-     * The operation's return type.
-     */
-    public String returnType;
-    
-    /**
-     * The impact of the operation; one of <code>INFO, ACTION, ACTION_INFO, UNKNOWN</code>.
-     */
-    public int impact;
-    
-    /**
-     * Constructs an empty <code>MBeanOperationInfo</code> instance.    
-     */
-    public MBeanOperationInfo()
-    {}
-    
-    /**
-     * Constructs a <code>MBeanOperationInfo</code> instance based upon a
-     * <code>javax.management.MBeanOperationInfo</code> instance.
-     * 
-     * @param mbeanOperationInfo The JMX <code>MBeanOperationInfo</code> instance to base this instance on.
-     */
-    public MBeanOperationInfo(javax.management.MBeanOperationInfo mbeanOperationInfo)
-    {
-        name = mbeanOperationInfo.getName();
-        description = mbeanOperationInfo.getDescription();
-        signature = convertSignature(mbeanOperationInfo.getSignature());
-        returnType = mbeanOperationInfo.getReturnType();
-        impact = mbeanOperationInfo.getImpact();
-    }
-    
-    /**
-     * Utility method to convert this <code>MBeanOperationInfo</code> to a
-     * <code>javax.management.MBeanOperationInfo</code> instance.
-     * 
-     * @return A JMX <code>MBeanOperationInfo</code> based upon this instance.
-     */
-    public javax.management.MBeanOperationInfo toMBeanOperationInfo()
-    {
-        return new javax.management.MBeanOperationInfo(name,
-                                                       description,
-                                                       convertSignature(signature),
-                                                       returnType,
-                                                       impact);
-    }
-    
-    /**
-     * Utility method to convert JMX parameter info instances to Flash friendly parameter info instances.
-     * 
-     * @param source JMX parameter info instances.
-     * @return Flash friendly parameter info instances.
-     */
-    private MBeanParameterInfo[] convertSignature(javax.management.MBeanParameterInfo[] source)
-    {
-        MBeanParameterInfo[] signature = new MBeanParameterInfo[source.length];
-        for (int i = 0; i < source.length; i++)
-        {
-            signature[i] = new MBeanParameterInfo(source[i]);
-        }
-        return signature;
-    }
-    
-    /**
-     * Utility method to convert Flash friendly parameter info instances to JMX parameter info instances.
-     * 
-     * @param source Flash friendly parameter info instances.
-     * @return JMX parameter info instances.
-     */
-    private javax.management.MBeanParameterInfo[] convertSignature(MBeanParameterInfo[] source)
-    {
-        javax.management.MBeanParameterInfo[] signature = new javax.management.MBeanParameterInfo[source.length];
-        for (int i = 0; i < source.length; i++)
-        {
-            signature[i] = source[i].toMBeanParameterInfo();
-        }
-        return signature;
-    }
-        
-}

http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/8315f8fa/core/src/flex/management/jmx/MBeanParameterInfo.java
----------------------------------------------------------------------
diff --git a/core/src/flex/management/jmx/MBeanParameterInfo.java b/core/src/flex/management/jmx/MBeanParameterInfo.java
deleted file mode 100644
index e0fd4fe..0000000
--- a/core/src/flex/management/jmx/MBeanParameterInfo.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package flex.management.jmx;
-
-/**
- * Remotable MBeanParameterInfo class that complies with Flash serialization requirements.
-
- */
-public class MBeanParameterInfo
-{
-    /**
-     * The name of the parameter.
-     */
-    public String name;
-    
-    /**
-     * The Java type for the parameter.
-     */
-    public String type;
-    
-    /**
-     * The description for the parameter.
-     */
-    public String description;
-    
-    /**
-     * Constructs an empty <code>MBeanParameterInfo</code> instance.
-     */
-    public MBeanParameterInfo()
-    {}
-    
-    /**
-     * Constructs a <code>MBeanParameterInfo</code> instance based upon a
-     * <code>javax.management.MBeanParameterInfo</code> instance.
-     * 
-     * @param mbeanParameterInfo The JMX <code>MBeanParameterInfo</code> instance to base this instance on.
-     */
-    public MBeanParameterInfo(javax.management.MBeanParameterInfo mbeanParameterInfo)
-    {
-        name = mbeanParameterInfo.getName();
-        type = mbeanParameterInfo.getType();
-        description = mbeanParameterInfo.getDescription();
-    }
-    
-    /**
-     * Utility method to convert this <code>MBeanParameterInfo</code> to a
-     * <code>javax.management.MBeanParameterInfo</code> instance.
-     * 
-     * @return A JMX <code>MBeanParameterInfo</code> based upon this instance.
-     */
-    public javax.management.MBeanParameterInfo toMBeanParameterInfo()
-    {
-        return new javax.management.MBeanParameterInfo(name,
-                                                       type,
-                                                       description);
-    }
-
-}