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}[&#46;{appId}]:type={type}[&#44;{parent type}={parent id}]*[&#44;server={server}]&#63;&#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);
- }
-
-}