code: public void triggerPolling(final String objectName) throws DevFailed {
          boolean isACommand = false;
          CommandImpl cmd = null;
          try {
              cmd = CommandGetter.getCommand(objectName, commandList);
              isACommand = true;
          } catch (final DevFailed e) {
          }
          if (!isACommand) {
              // polled object is not a command. May be an attribute
              AttributeImpl att = null;
              try {
                  att = AttributeGetterSetter.getAttribute(objectName, attributeList);
              } catch (final DevFailed e) {
                  logger.error(Constants.POLLED_OBJECT + objectName + " not found");
                  throw DevFailedUtils.newDevFailed(ExceptionMessages.POLL_OBJ_NOT_FOUND, Constants.POLLED_OBJECT
                          + objectName + " not found");
              }
              checkPolling(objectName, att);
              try {
                  cacheManager.getAttributeCache(att).refresh(att.getName());
              } catch (final CacheException e) {
                  if (e.getCause() instanceof DevFailed) {
                      throw (DevFailed) e.getCause();
                  } else {
                      throw DevFailedUtils.newDevFailed(e.getCause());
                  }
              } catch (final NoCacheFoundException e) {
                  throw DevFailedUtils.newDevFailed(e);
              }
          } else {
              checkPolling(objectName, cmd);
              try {
                  cacheManager.getCommandCache(cmd).refresh(cmd.getName());
              } catch (final CacheException e) {
                  if (e.getCause() instanceof DevFailed) {
                      throw (DevFailed) e.getCause();
                  } else {
                      throw DevFailedUtils.newDevFailed(e.getCause());
                  }
              }
          }
      }
docs: Update polling cache
  
  @param objectName The command or attribute to update
  @throws DevFailed