@Override
  public Object invoke(ObjectName name, String operationName, Object[] params, String[] signature)
      throws InstanceNotFoundException, MBeanException, ReflectionException {


    if (operationName.matches(readOnlyJMXOperations)) {
      checkRead();
      return getMBeanServer().invoke(name, operationName, params, signature);
    } else {
      return super.invoke(name, operationName, params, signature);
    }

  }
This class extends existing properties file based accessController in order to implement read
only operations. In JMX all operations assume to be modifying the system hence requires
read-write access. But in GemFire some of the attributes are implemented as operations in order
to reduce federation cost due to large payloads of those attribute. These attributes are exposed
as operations but require readOnly access. This class filter those methods for read access.
geode-core/src/main/java/org/apache/geode/management/internal/unsafe/ReadOpFileAccessController.java