Operations are methods that management applications can call remotely on a resource. They can be defined with any number of parameters of any type and can return any type.
The design patterns for operations are simple. Any public method defined in the MBean interface that is not an attribute getter or setter is an operation. For this reason, getters and setters are usually declared first in the Java code, so that all operations are grouped afterwards. The name of an operation is the name of the corresponding method.
The SimpleStandardMBean in Example 1–1 defines one operation, reset, which takes no parameters and returns nothing.
While the following methods define valid operations (and not attributes), to avoid confusion with attributes, these types of names should not be used:
public void getFoo(); public Integer getBar(Float p); public void setFoo(Integer one, Integer two); public String isReady();
For performance reasons, you might want to define operations for accessing individual elements of an array type attribute. In this case, use unambiguous operation names:
public String singleGetMessage(int index); public void singleSetMessage(int index, String msg);
The Java DMK imposes no restrictions on attribute types, operation attribute types, and operation return types. However, the developer must ensure that the corresponding classes are available to all applications manipulating these objects, and that they are compatible with the type of communication used. For example, attribute and operation types must be serializable to be manipulated remotely using the remote method invocation (RMI) or JMX messaging protocol (JMXMP) protocols.