* Allows an operation to be invoked on the Dynamic MBean.
*/
public Object invoke(String operationName, Object[] params, String[] signature)
throws MBeanException, ReflectionException {
if (operationName == null) {
throw new RuntimeOperationsException(new IllegalArgumentException(
"Null Operation name passed to invoke()"));
}
MBeanOperationInfo op = getOperationInfo(operationName, signature);
Method m = null;
Object ret = null;
if (op == null) {
/*
* If this operation was not defined as an operation in this
* MBean, perhaps, it was defined as an 'isIs' attribute.
*/
m = getIsIsMethod(operationName);
if (m == null) {
throw new RuntimeOperationsException(new IllegalArgumentException(
"MBean "
+ getMBeanName()
+ ": Invalid operation name and/or signature passed to invoke(): "
+ operationName)
);