Mercurial > hg > blitz_jmxagent
view src/net/scatterspace/blitz/jmx/OpImpl.java @ 2:1850f751d9de
Catching remote exceptions
author | Dominic Cleal <dominic-cleal@cdo2.com> |
---|---|
date | Thu, 11 Dec 2008 13:08:11 +0000 |
parents | d136d4894ea3 |
children |
line wrap: on
line source
/** * Copyright (c) 2008 CDO2 Limited. * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * Neither the name of CDO2 Limited nor the names of its contributors * may be used to endorse or promote products derived from this * software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY CDO2 LIMITED ''AS IS'' AND ANY * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL <copyright holder> BE LIABLE FOR ANY * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ package net.scatterspace.blitz.jmx; import java.util.Iterator; import net.scatterspace.blitz.jmx.iface.OpMXBean; import org.dancres.blitz.remote.StatsAdmin; import org.dancres.blitz.stats.OpStat; /** * MXBean to interface to {@link OpStat}. */ public class OpImpl extends AbstractStatsImpl<OpStat> implements OpMXBean { private String type_; public OpImpl(StatsAdmin admin, String type) { super(admin, OpStat.class); type_ = type; } public long getReads() { Iterator<OpStat> iter = getStatistics().iterator(); while (iter.hasNext()) { OpStat op = iter.next(); if (op.getType().equals(type_) && op.getOp() == OpStat.READS) return op.getCount(); } return 0; } public long getTakes() { Iterator<OpStat> iter = getStatistics().iterator(); while (iter.hasNext()) { OpStat op = iter.next(); if (op.getType().equals(type_) && op.getOp() == OpStat.TAKES) return op.getCount(); } return 0; } public long getWrites() { Iterator<OpStat> iter = getStatistics().iterator(); while (iter.hasNext()) { OpStat op = iter.next(); if (op.getType().equals(type_) && op.getOp() == OpStat.WRITES) return op.getCount(); } return 0; } @Override public String toString() { return super.toString() + ",class=" + type_; } }