当前位置: 首页>>代码示例>>Java>>正文


Java BatchProcessWorkProvider类代码示例

本文整理汇总了Java中org.alfresco.repo.batch.BatchProcessWorkProvider的典型用法代码示例。如果您正苦于以下问题:Java BatchProcessWorkProvider类的具体用法?Java BatchProcessWorkProvider怎么用?Java BatchProcessWorkProvider使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


BatchProcessWorkProvider类属于org.alfresco.repo.batch包,在下文中一共展示了BatchProcessWorkProvider类的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: getBatchProcessor

import org.alfresco.repo.batch.BatchProcessWorkProvider; //导入依赖的package包/类
protected BatchProcessor<ImportableItem> getBatchProcessor(final BulkImportParameters bulkImportParameters,
  		final BatchProcessWorkProvider<ImportableItem> workProvider, final int loggingInterval)
  {
      final int numThreads = getNumThreads(bulkImportParameters);
      final int batchSize = getBatchSize(bulkImportParameters);

      importStatus.setNumThreads(numThreads);
      importStatus.setBatchSize(batchSize);

BatchProcessor<ImportableItem> batchProcessor = new BatchProcessor<ImportableItem>(
              "Bulk Filesystem Import",
              transactionHelper,
              workProvider,
              numThreads, batchSize,
              applicationContext,
              logger, loggingInterval);

return batchProcessor;
  }
 
开发者ID:Alfresco,项目名称:alfresco-repository,代码行数:20,代码来源:MultiThreadedBulkFilesystemImporter.java

示例2: getWorkProvider

import org.alfresco.repo.batch.BatchProcessWorkProvider; //导入依赖的package包/类
@Override
public BatchProcessWorkProvider<ImportableItem> getWorkProvider()
{
   	BatchProcessWorkProvider<ImportableItem> provider = new BatchProcessWorkProvider<ImportableItem>()
	{
		@Override
		public int getTotalEstimatedWorkSize()
		{
			return count();
		}

		@Override
		public Collection<ImportableItem> getNextWork()
		{
			// TODO perhaps some multiple of the batchSize to limit calls
			// to getNextWork? Add this to repository.properties.
			return getImportableItems(batchSize*1000);
		}
	};
	
	return provider;
}
 
开发者ID:Alfresco,项目名称:alfresco-repository,代码行数:23,代码来源:StripingFilesystemTracker.java

示例3: doWork

import org.alfresco.repo.batch.BatchProcessWorkProvider; //导入依赖的package包/类
/**
 * @param progress          the thread-safe progress
 */
private synchronized void doWork(NodeStringLengthWorkResult progress) throws Exception
{
    // Build batch processor
    BatchProcessWorkProvider<NodePropertyEntity> workProvider = new NodeStringLengthWorkProvider(progress);
    BatchProcessWorker<NodePropertyEntity> worker = new NodeStringLengthBatch(progress);
    RetryingTransactionHelper retryingTransactionHelper = transactionService.getRetryingTransactionHelper();
    retryingTransactionHelper.setForceWritable(true);
    
    BatchProcessor<NodePropertyEntity> batchProcessor = new BatchProcessor<NodePropertyEntity>(
            "NodeStringLengthWorker",
            retryingTransactionHelper,
            workProvider,
            threadCount,
            batchSize,
            ctx,
            logger,
            1000);
    batchProcessor.process(worker, true);
}
 
开发者ID:Alfresco,项目名称:alfresco-repository,代码行数:23,代码来源:NodeStringLengthWorker.java

示例4: doWork

import org.alfresco.repo.batch.BatchProcessWorkProvider; //导入依赖的package包/类
/**
 * @param progress          the thread-safe progress
 */
private synchronized void doWork(UpgradePasswordHashWorkResult progress) throws Exception
{
    // Build batch processor
    BatchProcessWorkProvider<Long> workProvider = new UpgradePasswordHashWorkProvider(progress);
    BatchProcessWorker<Long> worker = new UpgradePasswordHashBatch(progress);
    RetryingTransactionHelper retryingTransactionHelper = transactionService.getRetryingTransactionHelper();
    retryingTransactionHelper.setForceWritable(true);

    //Create the QNames if they don't exist
    retryingTransactionHelper.doInTransaction(new RetryingTransactionHelper.RetryingTransactionCallback<Void>()
    {
        @Override
        public Void execute() throws Throwable
        {
            qnameDAO.getOrCreateQName(ContentModel.PROP_PASSWORD_HASH);
            qnameDAO.getOrCreateQName(ContentModel.PROP_HASH_INDICATOR);
            return null;
        }
    }, false, true);

    BatchProcessor<Long> batchProcessor = new BatchProcessor<Long>(
            "UpgradePasswordHashWorker",
            retryingTransactionHelper,
            workProvider,
            threadCount,
            batchSize,
            ctx,
            logger,
            1000);
    batchProcessor.process(worker, true);
}
 
开发者ID:Alfresco,项目名称:alfresco-repository,代码行数:35,代码来源:UpgradePasswordHashWorker.java

示例5: getArchivedNodesWorkProvider

import org.alfresco.repo.batch.BatchProcessWorkProvider; //导入依赖的package包/类
/**
 * @return                      Returns a work provider for batch processing
 * 
 * @since 3.3.4
 */
private BatchProcessWorkProvider<NodeRef> getArchivedNodesWorkProvider(final StoreRef originalStoreRef, final String lockToken)
{
    return new BatchProcessWorkProvider<NodeRef>()
    {
        private VmShutdownListener vmShutdownLister = new VmShutdownListener("getArchivedNodesWorkProvider");
        private List<NodeRef> nodeRefs;
        private boolean done;
        private synchronized List<NodeRef> getNodeRefs()
        {
            if (nodeRefs == null)
            {
                nodeRefs = getArchivedNodes(originalStoreRef);
            }
            return nodeRefs;
        }
        /**
         * @return              Returns 0, always
         */
        public synchronized int getTotalEstimatedWorkSize()
        {
            return 0;
        }
        public synchronized Collection<NodeRef> getNextWork()
        {
            if (vmShutdownLister.isVmShuttingDown())
            {
                return Collections.emptyList();
            }
            // Make sure we still have the lock
            try
            {
                // TODO: Replace with joblock callback mechanism that provides shutdown hints
                jobLockService.refreshLock(lockToken, LOCK_QNAME, LOCK_TTL);
            }
            catch (LockAcquisitionException e)
            {
                // This is OK.  We don't have the lock so just quit
                return Collections.emptyList();
            }
            
            if (done)
            {
                return Collections.emptyList();
            }
            else
            {
                done = true;
                return getNodeRefs();
            }
        }
    };
}
 
开发者ID:Alfresco,项目名称:alfresco-repository,代码行数:58,代码来源:NodeArchiveServiceImpl.java

示例6: getWorkProvider

import org.alfresco.repo.batch.BatchProcessWorkProvider; //导入依赖的package包/类
public BatchProcessWorkProvider<ImportableItem> getWorkProvider(); 
开发者ID:Alfresco,项目名称:alfresco-repository,代码行数:2,代码来源:FilesystemTracker.java


注:本文中的org.alfresco.repo.batch.BatchProcessWorkProvider类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。