Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 /*
  * Copyright (c) 2013 Red Hat, Inc. and/or its affiliates.
  *
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
  * http://www.eclipse.org/legal/epl-v10.html
  *
  * Contributors:
 * Cheng Fang - Initial API and implementation
 */
package org.jberet.testapps.chunkpartition;
public final class ChunkPartitionAnalyzer implements PartitionAnalyzer {
    @Inject
    private StepContext stepContext;
    @Inject @BatchProperty(name = "thread.count")
    private int threadCount;
    @Inject @BatchProperty(name = "skip.thread.check")
    private boolean skipThreadCheck;
    private final Set<LongchildThreadIds = new HashSet<Long>();
    private int numOfCompletedPartitions;
    @Override
    public void analyzeCollectorData(final Serializable datathrows Exception {
        .add((Longdata);
    }
    @Override
    public void analyzeStatus(final BatchStatus batchStatusfinal String exitStatusthrows Exception {
        //the check for number of threads used is not very accurate.  The underlying thread pool
        //may choose a cold thread even when a warm thread has already been returned to pool and available.
        //especially when thread.count is 1, there may be 2 or more threads being used, but at one point,
        //there should be only 1 active thread running partition.
        ++;
        if( == 3  && !) { //partitions in job xml
            if (.size() <= ) {  //threads in job xml
                .setExitStatus(String.format("PASS: Max allowable thread count %s, actual threads %s",
                        .size()));
            } else {
                .setExitStatus(String.format("FAIL: Expecting max thread count %s, but got %s",
                        .size()));
            }
        }
    }
New to GrepCode? Check out our FAQ X