BackupChain startBackup(BackupConfig config, BackupJobListener jobListener) throws BackupOperationException,
      BackupConfigurationException, RepositoryException, RepositoryConfigurationException
   {
      validateBackupConfig(config);

      Calendar startTime = Calendar.getInstance();
      File dir =
         FileNameProducer.generateBackupSetDir(config.getRepository(), config.getWorkspace(), config.getBackupDir()
            .getPath(), startTime);
      PrivilegedFileHelper.mkdirs(dir);
      config.setBackupDir(dir);

      BackupChain bchain =
         new BackupChainImpl(config, logsDirectory, repoService, fullBackupType, incrementalBackupType, IdGenerator
            .generate(), logsDirectory, startTime);

      bchain.addListener(messagesListener);
      bchain.addListener(jobListener);

      currentBackups.add(bchain);
      bchain.startBackup();

      return bchain;
   }
BackupChain startBackup ( BackupConfig config , BackupJobListener jobListener ) throws BackupOperationException , BackupConfigurationException , RepositoryException , RepositoryConfigurationException { validateBackupConfig ( config ) ; Calendar startTime = Calendar . getInstance ( ) ; File dir = FileNameProducer . generateBackupSetDir ( config . getRepository ( ) , config . getWorkspace ( ) , config . getBackupDir ( ) . getPath ( ) , startTime ) ; PrivilegedFileHelper . mkdirs ( dir ) ; config . setBackupDir ( dir ) ; BackupChain bchain = new BackupChainImpl ( config , logsDirectory , repoService , fullBackupType , incrementalBackupType , IdGenerator . generate ( ) , logsDirectory , startTime ) ; bchain . addListener ( messagesListener ) ; bchain . addListener ( jobListener ) ; currentBackups . add ( bchain ) ; bchain . startBackup ( ) ; return bchain ; }
Internally used for call with job listener from scheduler.

@param config
@param jobListener
@return
@throws BackupOperationException
@throws BackupConfigurationException
@throws RepositoryException
@throws RepositoryConfigurationException