code: private void initRemoteCommands()
     {
        if (rpcService != null)
        {
           // register commands
           suspend = rpcService.registerCommand(new RemoteCommand()
           {
  
              public String getId()
              {
                 return "org.exoplatform.services.jcr.impl.dataflow.persistent.CacheableWorkspaceDataManager-suspend-"
                    + dataContainer.getUniqueName();
              }
  
              public Serializable execute(Serializable[] args) throws Throwable
              {
                 suspendLocally();
                 return null;
              }
           });
  
           resume = rpcService.registerCommand(new RemoteCommand()
           {
  
              public String getId()
              {
                 return "org.exoplatform.services.jcr.impl.dataflow.persistent.CacheableWorkspaceDataManager-resume-"
                    + dataContainer.getUniqueName();
              }
  
              public Serializable execute(Serializable[] args) throws Throwable
              {
                 resumeLocally();
                 return null;
              }
           });
  
           requestForResponsibleForResuming = rpcService.registerCommand(new RemoteCommand()
           {
  
              public String getId()
              {
                 return "org.exoplatform.services.jcr.impl.dataflow.persistent.CacheableWorkspaceDataManager"
                    + "-requestForResponsibilityForResuming-" + dataContainer.getUniqueName();
              }
  
              public Serializable execute(Serializable[] args) throws Throwable
              {
                 return isResponsibleForResuming.get();
              }
           });
        }
     }
docs: Initialization remote commands.