batchconstraint.java

来自「提供ESB 应用mule源代码 提供ESB 应用mule源代码」· Java 代码 · 共 67 行

JAVA
67
字号
/* * $Id: BatchConstraint.java 10489 2008-01-23 17:53:38Z dfeist $ * -------------------------------------------------------------------------------------- * Copyright (c) MuleSource, Inc.  All rights reserved.  http://www.mulesource.com * * The software in this package is published under the terms of the CPAL v1.0 * license, a copy of which has been included with this distribution in the * LICENSE.txt file. */package org.mule.transaction.constraints;import org.mule.api.MuleEvent;/** * <code>BatchConstraint</code> is a filter that counts on every execution and * returns true when the batch size value equals the execution count. */// @ThreadSafepublic class BatchConstraint extends ConstraintFilter{    // @GuardedBy(this)    private int batchSize = 1;    // @GuardedBy(this)    private int batchCount = 0;    public boolean accept(MuleEvent event)    {        synchronized (this)        {            batchCount++;            return batchCount == batchSize;        }    }    public int getBatchSize()    {        synchronized (this)        {            return batchSize;        }    }    public synchronized void setBatchSize(int batchSize)    {        synchronized (this)        {            this.batchSize = batchSize;        }    }    public Object clone() throws CloneNotSupportedException    {        synchronized (this)        {            BatchConstraint clone = (BatchConstraint) super.clone();            clone.setBatchSize(batchSize);            for (int i = 0; i < batchCount; i++)            {                clone.accept(null);            }            return clone;        }    }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?